问题描述

我不知道我是否正确地做到这一点。

据我了解:

如果我有一个类 foo 和一个静态方法栏,我可以通过传递数组 array("foo","bar")作为函数名称将其注册为回调。

如果我在 $ foo 中有一个类的实例,并且想要调用方法栏,我传递数组 array($foo,'bar')

如果我需要在课堂内注册一个动作,它会与 array($this,'bar')一起使用吗?

最佳解决方案

If I need to register an action inside the class itself would it work with array($this, 'bar')?

是的,它有效。 $this 文档是指 callback 所需的具体实例。这就像你给的 $foo 例子。只是 $this 更特别,但它代表基本相同,它在 PHP 中的回调非常有效。

额外:

if I have a class foo and a static method bar I can register that as the callback by passing the array array("foo","bar") as the function name.

是的,您可以这样做,对于静态功能,您可以将其写为字符串而不是数组:foo::bar,请参阅回调文档。可能很方便

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。