如何在PHP中捕获对象上的任何方法调用?
2022-08-30 13:58:44
我试图弄清楚如何捕获PHP中对象上调用的任何方法。我知道魔术函数,但它只对被调用对象上不存在的方法触发。__call
例如,我有这样的东西:
class Foo
{
public function bar()
{
echo 'foobar';
}
public function override($method_name,$method_args)
{
echo 'Calling method ',$method_name,'<br />';
$this->$method_name($method_args); //dirty, but working
}
}
当我这样做时:
$foo = new Foo();
$foo->bar();
我想要这个输出:
Calling method bar
foobar
而不是这个:
foobar
有什么办法可以做到这一点吗?请:)帮忙