我有一个class A和class B从它继承class A,我想在我运行功能来运行一些检查。
class A {
public class __call($name, $params) {
if (method_exists?($this, $name)) {
$result = call_user_func_array([$this, $name], $params);
return $result;
}
}
}
class B {
private function hello() {
echo "Hello"
}
}
当我打电话时,我期待着:
$b = new B();
$b->hello();
它将调用__call然后执行private function hello,但它开始无限循环,看起来又call_user_func_array触发__call了。但是如果我hello在class A
这是预期的行为吗?我能做些什么来防止这种情况发生吗?