我的服务器上有 php 5.2.11。我应该升级到新的 PHP 5.3.2 吗?
有什么新功能可以挽救我的生命吗?
有什么建议吗?
最值得注意的是5.3更快。多少取决于您的系统和代码,很多人说这很值得注意。
http://php.net/migration53上的迁移指南记录了更改和新功能。我个人非常喜欢闭包/匿名函数。
后期静态绑定是我在 5.3 中实际使用的第一件事。Lambda 和命名空间很棒,但您可以解决以前版本中缺少它们的问题。
简而言之,LSB 允许您访问在调用静态函数时实际调用的类。
<?php
class A {
public static function who() {
echo __CLASS__;
}
public static function test() {
static::who(); // Here comes Late Static Bindings
}
}
class B extends A {
public static function who() {
echo __CLASS__;
}
}
B::test(); // "B"
AFAIK,在 PHP < 5.3 中无法做到这一点
如果您正在运行不是自己编写的应用程序,我会小心升级,因为您可能会发现很多警告被抛出,5.3 更麻烦。
我发现lambda 函数非常有用,尤其是与array_search
, array_map
, array_reduce
et al 一起使用。
看看' changelog ',如果你真的需要它,请给出你的决定。
升级到 PHP 5.3 绝对是一个好主意,但前提是您的代码与 PHP 5.3 兼容。
您可以使用PHP 5.3 兼容性代码嗅探规则自动执行部分测试- 通过此测试的代码不一定会 100% 工作,但至少您不必再担心很多问题。