php7
期望是向後相容的增強到舊 assert()
函數。期望允許在生產代碼零成本的斷言,並提供在斷言失敗時拋出自定義異常的能力。 assert()
不是一種語言建構體,其中第一個參數是一個表達式的比較字串
或布林值
用於測試。
設定指令assert()
指示 | 預設值 | 可能的值 |
zend.assertions | 1 |
1 \- 產生並執行程式碼(開發模式) 0 \- 產生程式碼,但在執行時跳過它 -1 \- 不產生程式碼(生產模式) |
assert.exception | 0 |
1 \- 當斷言失敗時拋出異常提供的對象,或者在沒有提供異常的情況下拋出一個新的 AssertionError 對象。 0 \- 如上所述使用或產生Throwable,但僅產生基於該物件的警告而不是拋出它(與PHP 5行為相容) |
參數:
斷言 - 斷言。在PHP 5
中,它必須是要評估的字串
或要測試的布林值
。在PHP 7
中,這也可以是任何傳回值的表達式,該值將被執行並且結果用於指示斷言是成功還是失敗。
描述 - 如果斷言失敗,則將包含在失敗訊息中的可選描述。
異常 - 在PHP 7
中,第二個參數可以是 Throwable
物件而不是描述字串,在這種情況下,如果斷言失敗並且啟用了 assert.exception
設定指令,則這是將要拋出的物件。
回傳值
如果斷言是假的則回傳FALSE
, 反之則回傳TRUE
。
實例:
<?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...
以上是如何正確使用PHP7的期望的詳細內容。更多資訊請關注PHP中文網其他相關文章!