是否有一种神奇的方法,当从对象调用某个方法时,首先调用魔术方法。有点像__call方法,但只有在找不到方法时才会触发。当调用现有方法时执行(魔术)方法
所以在我的情况,我想是这样的:
class MyClass
{
public function __startMethod ($method, $args)
{
// a method just got called, so this is called first
echo ' [start] ';
}
public function helloWorld ()
{
echo ' [Hello] ';
}
}
$obj = new MyClass();
$obj->helloWorld();
//Output:
[start] [Hello]
难道这样的事情在PHP中存在?
只有'__construct'会在代码的这部分执行时调用:'$ obj = new MyClass();' – noob 2012-04-06 18:22:09
@micha,请参阅我的评论在Stony ---(评论被删除) 。我不在寻找__construct()方法。这仅在创建对象时调用。我需要一个魔术方法,每次调用一个函数时都会调用它。 – w00 2012-04-06 18:26:19
不,没有。用另一个方案声明你的现有方法,或使用包装器对象。 – mario 2012-04-06 18:28:37