PHP7期望

期望是向後兼容的增強到舊 assert() 函數。期望允許在生產代碼零成本的斷言,並提供在斷言失敗時拋出自定義異常的能力。assert() 不是一種語言構建體,其中第一個參數是一個表達式的比較字符串或布爾用於測試。

配置指令assert()


指令

默認值 

可能的值

zend.assertions

1

  • 1 - 生成並執行代碼(開發模式)

  • 0 - 生成代碼,但它在運行時

  • -1 - 不生成代碼(生產模式)

assert.exception

0

  • 1 - 當斷言失敗時拋出,要麼拋出的異常,或者通過拋出一個新的 AssertionError 對象提供的對象,如果沒有提供異常

  • 0 - 使用或與上述生成的Throwable,但只能根據該對象的警告,而不是(與PHP 5兼容的行爲)把它拋出

參數

  • assertion - 斷言。在PHP 5中,這必須是要計算一個字符串或要測試一個布爾值。 在PHP中7,這也可能是一個返回值的表達式,將執行和使用的結果,以指示斷言是成功還是失敗。

  • description - 一個可選的描述,如果斷言失敗,將包括失敗消息。

  • exception-在PHP7,第二個參數可以是一個 Throwable 對象,而不是一個描述字符串,在這種情況下,這是如果斷言失敗和assert.exception配置指令啓用將拋出的對象。

返回值

如果斷言爲假爲FALSE,否則爲TRUE。

示例

這將在瀏覽器產生以下輸出 -

Fatal error: Uncaught CustomError: Custom Error Message! in...