因此,我託管拒絕更新到PHP 5.3(這是惱人的,但在同一時間罰款;我很靈活),但唯一真正讓我關閉的是沒有__callStatic可用。PHP:__callStatic替代5.2.x
我有模塊加載,我想鞏固到一個類(即有一個類加載模塊,然後通過調用主類__callStatic方法訪問這些模塊的功能),但當我從本地測試服務器上傳到我的服務器,顯然__callStatic方法不起作用。
是否有替代方案是還是靜態?我喜歡乾淨的代碼尋找雙冒號(即registry::some_func()
)而不是$registry->some_func()
。
另一個不利的方面來這是我現在被迫使用職權範圍內global
關鍵字(其中由我自己的偏好是非常,非常凌亂)。
代碼使用靜態方法代替非靜態方法的速度也非常快,並且反過來更加乾淨。
另外:我想過寫__callStatic方法像往常一樣與5.2,然後調用方法明確,例如registry::__callStatic("some_func"), array("val", "val2", "val3")
,並保持事情變得更簡單這樣一來,即使是比較容易遷移,當他們升級到5.3 。關於這種方法的想法?
謝謝!
非常明智地說:]我同意這一點,這幾乎是我自己的規格。如果需要的話,我總是可以使用一些小小的magic linux命令來替換整個代碼(只需要移除`$`並用`::`替換` - >`。謝謝! – Qix 2011-01-06 22:48:02