php - 在方法调用上执行代码段

时间:2012-02-26 23:51:16

标签: php methods call invoke code-snippets

我想知道每次在类中调用方法时是否有办法在PHP中执行代码片段。与__construct()的工作方式类似,但应在每次方法调用时调用它。

2 个答案:

答案 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