如何调用实例变量的魔术方法?

时间:2018-03-05 10:17:31

标签: php php-5.3

我将一个对象分配给实例变量。这个对象有魔术方法__invoke。这不起作用,因为类没有方法dom()。

$this->dom = str_get_dom($template_data);
$this->dom('some arg');

课外,此代码有效:

$dom = str_get_dom($template_data);
$dom('some arg');

我怎样才能让它适应我的课程?这个例子是关于php lib的,名为ganon。

1 个答案:

答案 0 :(得分:0)

问题是PHP在对象方法对象属性之间有所不同。语法$foo->bar()要求$foo类具有已定义public function bar将查找属性bar,然后尝试将其值作为可调用对象调用。

您必须使用call_user_func显式调用值作为函数。