我想知道每次在类内调用方法时,是否有办法在PHP中执行代码段。类似于__construct()的工作方式,但应该在每次方法调用时调用它。
您可能正在查找__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.
我可以建议您使用面向方面的库来满足您的需求。您将能够为方法(正则表达式)创建一个切入点,只需在每个方法之前/之后或前后发出调用建议(闭包)。你可以看看我的图书馆:去吧!AOP PHP