[英]PHP: __callStatic alternative for 5.2.x
所以我有托管拒絕更新到PHP 5.3(這很麻煩,但同時很好;我很靈活),但唯一讓我感到驚訝的是沒有__callStatic可用。
我加載了模塊,我想要合並到一個單獨的類(即有一個加載模塊的類,然后通過調用主類'__callStatic方法訪問這些模塊的函數),但是當我從本地上傳時測試服務器到我的服務器,顯然__callStatic方法不起作用。
還有一種仍然是靜態的替代方案嗎? 我喜歡干凈的代碼查找雙冒號(即registry::some_func()
)而不是$registry->some_func()
。
另一個缺點是我現在被迫在函數中使用global
關鍵字(根據我自己的喜好,它非常非常混亂)。
使用靜態方法代替非靜態方法,代碼也非常快,反過來更干凈。
另外:我考慮過像往常一樣用5.2編寫__callStatic方法,然后顯式調用方法,例如registry::__callStatic("some_func"), array("val", "val2", "val3")
和保持事情更簡單,甚至在升級到5.3時更容易遷移。 對這種方法的想法?
謝謝!
如果想要這樣做的唯一原因是雙冒號的速度和主觀吸引力,我會說增長以欣賞破折號和支架的道,采取暴跌並使用對象實例。 你所說的“干凈的代碼外觀”就像是Hammer的褲子......很酷的一年,幾年之后,當你年齡更大,更聰明時,就不那么酷了。 __callStatic()
(IMVHO)充其量只是一種不必要的小便利,也是最糟糕的類別設計的解決方法。 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.