我想知道每次在类中调用方法时是否有办法在PHP中执行代码片段。与__construct()的工作方式类似,但应在每次方法调用时调用它。
答案 0 :(得分:2)
你可能正在寻找__call()
。只要调用不可访问的方法,就会调用它。
class MyClass {
protected function doStuff() {
echo "doing stuff.";
}
public function __call($methodName, $params) {
echo "In before method.";
return $this->doStuff();
}
}
$class = new MyClass();
$class->doStuff(); // In before method.doing stuff.
答案 1 :(得分:0)
我建议您根据自己的需要使用面向方面的库。您将能够为方法(正则表达式)创建切入点,并且只需在每个方法之前/之后或周围进行建议(闭包)。 您可以查看我的库:Go! AOP PHP