我有一个用 CakePHP2.3 编写的项目,我正在考虑将 PHP 升级到 5.4 版。我试图保持代码干燥,PHP5.4 的特征可以帮助解决这个问题。我当前的 PHP 版本是 5.3.3。
在我开始在服务器上安装东西之前,我想知道这是否是个好主意。
您是否一起使用过 CakePHP2.3 和 PHP5.4,如果是,您是否遇到过兼容性问题?
您是否使用过 PHP5.4 中的新特性功能,如果是,您是否有任何问题?
我有一个用 CakePHP2.3 编写的项目,我正在考虑将 PHP 升级到 5.4 版。我试图保持代码干燥,PHP5.4 的特征可以帮助解决这个问题。我当前的 PHP 版本是 5.3.3。
在我开始在服务器上安装东西之前,我想知道这是否是个好主意。
您是否一起使用过 CakePHP2.3 和 PHP5.4,如果是,您是否遇到过兼容性问题?
您是否使用过 PHP5.4 中的新特性功能,如果是,您是否有任何问题?
我在 PHP 5.4 服务器上有一个 CakePHP 2.2 项目。它工作得很好,因为 CakePHP 的类是用继承模式正确编写的。但是,如果您的应用程序不正确地实现继承,那么您将在 5.4 中得到 PHP 错误,而在 5.3 中没有出现。
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.2 兼容,所以答案适用于 2.0 分支的所有版本)。
CakePHP 直到 3.0 版才正式支持 Traits。但是,我在我的项目中毫无问题地使用了它们。事实上,它们非常方便!您不能使用任何 CakePHP 方法来导入它们(尚不支持),而只需使用标准require_once('trait_file_name.php');
,然后将特征应用于您的类/接口。
CakePHP 3.0 将需要 PHP 5.4,因此您希望使用的开发模式正在使用中。