如何调用类中成员变量的 __invoke 方法
PHP 5.4.5,在这里。我正在尝试调用一个存储为其他对象的成员的对象。像这样(非常粗略)
class A {
function __invoke () { ... }
}
class B {
private a = new A();
...
$this->a(); <-- runtime error here
}
当然,这会产生运行时错误,因为没有称为 a 的方法。但是如果我这样写电话:
($this->a)();
然后我得到一个语法错误。
当然,我可以写
$this->a->__invoke();
但这似乎令人无法忍受的丑陋,反而破坏了函子的意义。我只是想知道是否有更好(或官方)的方法。