支持类型提示返回值
PHP V5 仅支持类型提示(其中定义了类型)参数。PHP V6 支持类型提示返回值。
静态和动态方法调用
在 PHP V5 中,可以对方法进行静态或动态调用,而不管它是否标记为 static。例如,在下面的清单中,进行了静态和动态方法的调用:
function bDynamic() { echo "dynamic function\n"; }}
classA::aStatic("static call");
classA::bDynamic("static call");
$classA = new classA;
$classA->aStatic("dynamic call");
$classA->bDynamic("dynamic call");
?>
在 PHP V6 中,使用静态调用语法调用动态函数将抛出一个 E_FATAL 错误,反之亦然。
PHP 的添加内容
opcode 缓存改善了性能。另一个 PHP cache(APC)扩展曾经使用过一段时间,它也将添加到核心 PHP 发布版。默认情况下将不启用 APC 扩展。提供其他安全性的 Hardened PHP 补丁的一些特性已经合并到 PHP。
现在,许多 PHP 扩展甚至对可修复错误使用 E_ERROR。E_ERROR 终止脚本的运行。因此,在 PHP V6 中,扩展中仅对不可修复的错误使用 E_ERROR。E_STRICT 错误表明这是语言级别的警告或错误,目前还没有包含在 E_ALL 中。在 PHP V6 中,已经将 E_STRICT 添加到 E_ALL。在 PHP V6 中,将为 PHP 添加 MySQL 原生驱动器。并且添加对大于 2 GB 的文件的支持。
在 PHP V6 中,将删除 ASP 样式的标记 ()。但会保留 PHP 短标记 ()。
结束语
本文介绍了 PHP V6 中的新特性和已更改的特性。其中最主要的特性就是对 Unicode 的支持。删除了一些配置选项,比如 register_globals、magic_quotes、safe_mode 和 register_long_arrays。改进了扩展支持和 OO 函数。PHP V5.3 支持 PHP V6 的 50% 的特性。