& $这在Wordpress add_action回调中

时间:2014-02-13 21:43:52

标签: php wordpress reference

我只是在Wordpress中弄湿了,我正在尝试使用OOP技术编写一个非常简单的插件。我一直在关注本教程:http://www.yaconiello.com/blog/how-to-write-wordpress-plugin/。到目前为止,我觉得我理解了大部分正在发生的事情,但我对这样的陈述感到有些困惑:

add_action('init', array(&$this, 'init')); 

阅读Wordpress's add_action()PHP callables上的文档后,我认为第二个参数是类实例的方法。但我不明白为什么$this必须通过引用传递

在PHP文档中发现了关于callables的这个说明,我怀疑它可能与它有关,但是我仍然很难绕过不同的东西:

  

注意:在PHP 4中,必须使用引用来创建指向实际对象的回调,而不是它的副本。有关更多详细信息,请参阅参考资料说明。

如果我有PHP 5,我使用array($this,'init')安全吗?

可能相关:add_action in wordpress using OOP?

1 个答案:

答案 0 :(得分:2)

是的 - 您可以安全地使用array($this, 'init');

这实际上是PHP中的“可调用”。它将使用call_user_func()call_user_func_array()add_action方法内部)调用。

PHP对此类可调用的官方描述:

  

实例化对象的方法作为数组传递,该数组包含索引为0的对象和索引为1的方法名称。

您可以阅读有关callables here的更多信息。