問題描述
我不知道我是否正確地做到這一點。
據我瞭解:
如果我有一個類 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。