向后兼容說明

2018-02-24 15:47 更新

錯誤和異常處理的變更

許多可以被修正的 Fatal 錯誤,在 PHP7 中將以 Exceptions 異常的形式拋出。這些 Error Exceptions 繼承于?Error?類。而Error?類則實現(xiàn)了異?;?Throwable?接口。?
PHP7 中詳細的 Error 信息可以參考?PHP7 錯誤?。本文中僅僅介紹和向后兼容有關的信息如下。

類構造函數(shù)在失敗時拋出異常

之前,類構造函數(shù)在失敗時總是返回NULL或者返回一個不可用的 Object,但從 PHP7 開始,在構造函數(shù)初始化失敗時會拋出異常

解析錯誤時會拋出?解析異常

現(xiàn)在,解析?eval()?錯誤會拋出一個?解析異常?對象。其可以通過?catch?捕捉,并做相應處理。

E_STRICT 等級的報錯被重新分配

所有?E_STRICT?級別的報錯已重新分配到其他報錯等級中。E_STRICT?常量依然保留,所以當你設置報錯等級為error_reporting(E_ALL|E_STRICT)?時,不會引起報錯。
變更情況如下表?image

變量處理環(huán)節(jié)的變更

由于 PHP7 采用抽象的語法樹解析代碼文件,并且過去的 PHP 版本無法滿足該特性,這一變化將引起一些一致性問題。本節(jié)詳細介紹這塊的情況。

對于間接變量、屬性、方法的變動

間接的使用變量、屬性、方法,將嚴格按照從左到右的順序執(zhí)行,而不會因形式問題導致歧義。下表將表明這一改變引起的差異。?

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號