W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
(PHP 4, PHP 5, PHP 7, PHP 8)
assert_options — 設置/獲取各種斷言 flag
assert_options(int $option, mixed $value = ?): mixed
設置 assert() 的各種控制選項,或者是僅僅查詢當前的設置。
注意: 不鼓勵使用 assert_options(),而是分別使用 ini_set() 和 ini_get() 設置和獲取 php.ini 指令 zend.assertions 和 assert.exception。
option
選項 | INI 設置 | 默認值 | 描述 |
---|---|---|---|
ASSERT_ACTIVE | assert.active | 1 | 啟用 assert() 斷言 |
ASSERT_EXCEPTION | assert.exception | 1 | 每個失敗斷言,拋出 AssertionError |
ASSERT_WARNING | assert.warning | 1 | 為每個失敗的斷言產生一個 PHP 警告(warning) |
ASSERT_BAIL | assert.bail | 0 | 在斷言失敗時中止執(zhí)行 |
ASSERT_QUIET_EVAL | assert.quiet_eval | 0 | 在斷言表達式求值時禁用 error_reporting。PHP 8.0.0 起移除。 |
ASSERT_CALLBACK | assert.callback | (null ) |
斷言失敗時調用回調函數(shù) |
value
可選的新選項值。
通過 ASSERT_CALLBACK
或 assert.callback 設置的回調函數(shù)應該有以下簽名:
assert_callback(
string $file,
int $line,
?string $assertion,
string $description = ?
): void
file
line
assertion
null
。description
value
傳遞空字符串會重置斷言回調。返回任意選項的原始設置。
如果 option 是無效選項,拋出 ValueError。
版本 | 說明 |
---|---|
8.0.0 | 如果 option 是無效選項,拋出 ValueError。之前返回 false 。 |
示例 #1 assert_options() 示例
<?php
// 處理斷言失敗時的函數(shù)
function assert_failure($file, $line, $assertion, $message)
{
echo "The assertion $assertion in $file on line $line has failed: $message";
}
// 我們的測試函數(shù)
function test_assert($parameter)
{
assert(is_bool($parameter));
}
// 設置斷言選項
assert_options(ASSERT_ACTIVE, true);
assert_options(ASSERT_BAIL, true);
assert_options(ASSERT_WARNING, false);
assert_options(ASSERT_CALLBACK, 'assert_failure');
// 讓一個斷言會失敗
test_assert(1);
// 由于 ASSERT_BAIL 是 true,這里永遠也到不了
echo 'Never reached';
?>
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: