期望是向後相容的增強到舊 assert() 函式。期望允許在生產程式碼零成本的斷言,並提供在斷言失敗時丟擲自定義異常的能力。assert() 不是一種語言構建體,其中第一個引數是一個表示式的比較字串或布林用於測試。
指令 | 預設值 |
可能的值
|
---|---|---|
zend.assertions | 1 |
|
assert.exception | 0 |
|
assertion - 斷言。在PHP 5中,這必須是要計算一個字串或要測試一個布林值。 在PHP中7,這也可能是一個返回值的表示式,將執行和使用的結果,以指示斷言是成功還是失敗。
description - 一個可選的描述,如果斷言失敗,將包括失敗訊息。
exception-在PHP7,第二個引數可以是一個 Throwable 物件,而不是一個描述字串,在這種情況下,這是如果斷言失敗和assert.exception組態指令啟用將丟擲的物件。
<?php ini_set('assert.exception', 1); class CustomError extends AssertionError {} assert(false, new CustomError('Custom Error Message!')); ?>
這將在瀏覽器產生以下輸出 -
Fatal error: Uncaught CustomError: Custom Error Message! in...