给定扩展类 B 的类 A,如何调用类 A 的 __call 函数覆盖从父类继承的匹配函数?
考虑这个简化的例子:
class A
{
public function method_one()
{
echo "Method one!\n";
}
}
class B extends A
{
public function __call($name, $args)
{
echo "You called $name!\n";
}
}
$b = new B();
$b->method_one();
当我运行它时,我得到了输出Method one!
。我想得到输出You called method_one!
。
那么,如何让子类的魔法方法覆盖父类定义的方法呢?
我需要扩展对象,因为我需要访问 A 中的受保护方法,但我想将所有公共方法引导到我自己的 __call 处理程序中。有没有办法做到这一点?