目的是这样的,希望实例化一个对象后不管调用对象的任何方法,之后都会执行一些命令(例如写入日志之类的)。
我的想法这样的,类的所有方法都是私有方法,那么实例对象后调用方法都用__call()这个魔术方法来做。
class Algorithm{
private $object;
private function write($a,$b){
return $a+$b;
}
public function __call($name, $arguments)
{
// TODO: Implement __call() method.
call_user_func_array($this->$name,$arguments);
//call_user_func_array(['Algorithm',$name],$arguments);
return $this;
}
}
代码如上,但是这里出现了一个问题call_user_func_array()这个函数在这种情况下,没法调用Algorithm的方法,到这里就没办法继续下去了。
求高手指教~~