簡體   English   中英

PHP:__callStatic替代5.2.x

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM