向后兼容说明
错误和异常处理的变更
许多可以被修正的 Fatal 错误,在 PHP7 中将以 Exceptions 异常的形式抛出。这些 Error Exceptions 继承于 Error 类。而Error 类则实现了异常基类 Throwable 接口。
PHP7 中详细的 Error 信息可以参考 PHP7 错误 。本文中仅仅介绍和向后兼容有关的信息如下。
类构造函数在失败时抛出异常
之前,类构造函数在失败时总是返回NULL或者返回一个不可用的 Object,但从 PHP7 开始,在构造函数初始化失败时会抛出异常。
解析错误时会抛出 解析异常
现在,解析 eval() 错误会抛出一个 解析异常 对象。其可以通过 catch 捕捉,并做相应处理。
E_STRICT 等级的报错被重新分配
所有 E_STRICT 级别的报错已重新分配到其他报错等级中。E_STRICT 常量依然保留,所以当你设置报错等级为error_reporting(E_ALL|E_STRICT) 时,不会引起报错。
变更情况如下表
变量处理环节的变更
由于 PHP7 采用抽象的语法树解析代码文件,并且过去的 PHP 版本无法满足该特性,这一变化将引起一些一致性问题。本节详细介绍这块的情况。
对于间接变量、属性、方法的变动
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定