向后兼容说明

2018-02-24 15:47 更新

错误和异常处理的变更

许多可以被修正的 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) 时,不会引起报错。
变更情况如下表 image

变量处理环节的变更

由于 PHP7 采用抽象的语法树解析代码文件,并且过去的 PHP 版本无法满足该特性,这一变化将引起一些一致性问题。本节详细介绍这块的情况。

对于间接变量、属性、方法的变动

间接的使用变量、属性、方法,将严格按照从左到右的顺序执行,而不会因形式问题导致歧义。下表将表明这一改变引起的差异。 

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号