2012-12-15 62 views
0

我有一個用CakePHP2.3編寫的項目,我正在考慮將PHP升級到版本5.4。我試圖保持代碼乾燥,從PHP5.4的特點可以幫助。我目前的PHP版本是5.3.3。PHP5.4和CakePHP2.3兼容性

在我開始在服務器上安裝東西之前,我想知道這是不是一個好主意。

  • 你用CakePHP2.3 & PHP5.4一起,如果是,你有沒有遇到過任何問題,保持兼容?

  • 您是否使用過PHP5.4的新特性,如果是,您是否有任何問題?

回答

1

我在PHP 5.4服務器上有一個CakePHP 2.2項目。它正常工作,因爲CakePHP的類用繼承模式正確編寫。但是,如果您的應用程序不適當地實現繼承,那麼您將在5.4中得到您在5.3中沒有得到的PHP錯誤。

class parentClass{ 
    public function test($foo); 
} 

class childClass extends parentClass{ 
    //Does not properly implement test 
    public function test(); 
} 

否則,CakePHP 2.0 +是完全兼容的。 (由於CakePHP 2.3仍在開發中,我沒有升級,但它與API兼容,所以答案適用於2.0分支的所有版本)。

在3.0版之前,CakePHP並未正式支持特徵。但是,我在項目中沒有問題地使用它們。事實上,他們非常方便!您不能使用任何CakePHP方法導入它們(尚不支持),但只需使用標準require_once('trait_file_name.php');,然後將該特徵應用於您的類/接口。

CakePHP 3.0將需要PHP 5.4,所以你期望使用的開發模式正在進入。