问题描述
我不知道我是否正确地做到这一点。
据我了解:
如果我有一个类 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。