2012-09-19 30 views
0

我已經重寫了Jamie Matthews的Idiorm ORM,以完全符合PSR編碼標準;不過,我想保持與原始代碼的向後兼容性。原來使用的下劃線方法名稱,但PSR標準是camelCase。我創建了一個__call方法來處理它,但它不適用於靜態方法。 This commit顯示兼容性代碼。在PHP 5.2中自動調用靜態方法

有沒有辦法使這項工作調用靜態方法,仍然保持php 5.2的兼容性?

+1

我不這麼認爲。 __callStatic只在PHP 5.3中實現,我不知道在這之前做任何事情的可能性。 –

+0

是的,我也不這麼認爲,但是想要確認。 –

+2

值得指出的是,PHP5.2現在已經在近兩年前宣佈報廢。如果您仍然在使用它,那麼您已經過時了,並且很可能已經知道您的系統存在安全問題,因爲此後沒有發佈5.2版的新補丁程序。此外,PSR編碼標準已經專門用PHP 5.3及以上編寫。我想他們不希望5.2上的任何人想到最佳實踐。 – SDC

回答

2

您需要__callStatic(),這只是introduced in PHP 5.3;沒有這一點,我認爲你不能實現這一點。

+0

是的,我也不這麼認爲,但是想要確認。 –