我希望每次在PHP中进行方法调用时调用一个函数.
示例:
$a = new a();
$a->function1();
Run Code Online (Sandbox Code Playgroud)
这将进行2次函数调用:basicFunction()
然后function1()
对于该类的任何后续方法调用,情况也是如此.在面向对象的PHP中这是可能的吗?
最简单的方法就是调用方法
public function function1 {
$this->basicFunction();
// …
}
Run Code Online (Sandbox Code Playgroud)
您可能会追求的是面向方面编程.但是,这在PHP中并不常见.最值得注意的用途是在Flow3框架中.
对于可用于PHP OOP的其他更常用的方法,请查看
这些将允许您在运行时添加任意行为和控制流.
(meta)在旁注中,我们真的需要四个建议使用的答案__call
吗?我建议各个OP审查他们各自的答案,理清微小的差异,并就哪一个最好达成一致.其他三个人可以撤回他们的答案.