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