成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導(dǎo)航首頁 ? 技術(shù)教程 ? PHP選項:assert()的用法
全站頭部文字 我要出現(xiàn)在這里
PHP選項:assert()的用法 708 2023-12-14   

assert

(PHP 4, PHP 5)

assert — 檢查一個斷言是否為 FALSE

說明

bool assert ( mixed $assertion [, string $description ] )

assert() 會檢查指定的 assertion 并在結(jié)果為 FALSE 時采取適當?shù)男袆印?

如果 assertion 是字符串,它將會被 assert() 當做 PHP 代碼來執(zhí)行。 assertion 是字符串的優(yōu)勢是當禁用斷言時它的開銷會更小,并且在斷言失敗時消息會包含 assertion 表達式。 這意味著如果你傳入了 boolean 的條件作為 assertion,這個條件將不會顯示為斷言函數(shù)的參數(shù);在調(diào)用你定義的 assert_options() 處理函數(shù)時,條件會轉(zhuǎn)換為字符串,而布爾值 FALSE 會被轉(zhuǎn)換成空字符串。

斷言這個功能應(yīng)該只被用來調(diào)試。 你應(yīng)該用于完整性檢查時測試條件是否始終應(yīng)該為 TRUE,來指示某些程序錯誤,或者檢查具體功能的存在(類似擴展函數(shù)或特定的系統(tǒng)限制和功能)。

斷言不應(yīng)該用于普通運行時操作,類似輸入?yún)?shù)的檢查。 作為一個經(jīng)驗法則,在斷言禁用時你的代碼也應(yīng)該能夠正確地運行。

assert() 的行為可以通過 assert_options() 來配置,或者手冊頁面上描述的 .ini 設(shè)置。

assert_options() ASSERT_CALLBACK 配置指令允許設(shè)置回調(diào)函數(shù)來處理失敗的斷言。

assert() 回調(diào)函數(shù)在構(gòu)建自動測試套件的時候尤其有用,因為它們允許你簡易地捕獲傳入斷言的代碼,并包含斷言的位置信息。 當信息能夠被其他方法捕獲,使用斷言可以讓它更快更方便!

回調(diào)函數(shù)應(yīng)該接受三個參數(shù)。 第一個參數(shù)包括了斷言失敗所在的文件。 第二個參數(shù)包含了斷言失敗所在的行號,第三個參數(shù)包含了失敗的表達式(如有任意 — 字面值例如 1 或者 "two" 將不會傳遞到這個參數(shù))。 PHP 5.4.8 及更高版本的用戶也可以提供第四個可選參數(shù),如果設(shè)置了,用于將 description 指定到 assert()

參數(shù)

assertion

斷言。

description

如果 assertion 失敗了,選項 description 將會包括在失敗信息里。

返回值

assertion 是 false 則返回 FALSE,否則是 TRUE

更新日志

版本 說明 5.4.8 增加了參數(shù) descriptiondescription 現(xiàn)在也作為第四個參數(shù)提供給 ASSERT_CALLBACK 模式里的回調(diào)函數(shù)。

范例

Example #1 使用自定義處理程序處理失敗的斷言

<?php
// 激活斷言,并設(shè)置它為 quiet
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_WARNING, 0);
assert_options(ASSERT_QUIET_EVAL, 1);

//創(chuàng)建處理函數(shù)
function my_assert_handler($file, $line, $code)
{
    echo "<hr>Assertion Failed:
        File '$file'<br />
        Line '$line'<br />
        Code '$code'<br /><hr />";
}

// 設(shè)置回調(diào)函數(shù)
assert_options(ASSERT_CALLBACK, 'my_assert_handler');

// 讓一則斷言失敗
assert('mysql_query("")');
?>

Example #2 使用自定義處理器打印描述信息

<?php
// 激活斷言,并設(shè)置它為 quiet
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_WARNING, 0);
assert_options(ASSERT_QUIET_EVAL, 1);

//創(chuàng)建處理函數(shù)
function my_assert_handler($file, $line, $code, $desc = null)
{
    echo "Assertion failed at $file:$line: $code";
    if ($desc) {
        echo ": $desc";
    }
    echo "n";
}

// 設(shè)置回調(diào)函數(shù)
assert_options(ASSERT_CALLBACK, 'my_assert_handler');

// Make an assertion that should fail
assert('2 < 1');
assert('2 < 1', 'Two is less than one');
?>

以上例程會輸出:

Assertion failed at test.php:21: 2 < 1
Assertion failed at test.php:22: 2 < 1: Two is less than one

參見

assert_options() - 設(shè)置/獲取斷言的各種標志


主站蜘蛛池模板: 重回蓝色珊瑚礁| jjdd| 杨买军郑州航空港区| 抖音视频怎么下载| 辰巳ゆい| 禁忌的恋爱关系一部| love 电影| 朱莉安妮| 色戒.| 蛇魔女大闹都市| 心花路放 豆瓣| 富二代| 爱笑会议室演员表| 2025微信头像最新版本| 处女巫| 天津电视台体育频道| 大海中的船歌词歌谱| 孙东杓| 贪玩的小水滴300字作文| 电影林海雪原| 漂亮的女邻居5伦理| 本溪电视台| 满天星的电影都有哪些| 林智妍三部曲电影免费观看| 捆绑上天堂电影| 秦皇岛电视台| 小组介绍| 性在线观看| 秀人网 官网门户免费| 男女电视剧| 又大又肥又圆的白屁股| 家庭教师偏差值| 嫦娥奔月读后感50字| 泷泽萝拉第二部| 腰带之下| 创业史全文免费阅读| 小镇追凶电影在线观看| 埃米尔·赫斯基| right here waiting中文版| 达科塔·高尤| deauxma|

!!!站長長期在線接!!!

網(wǎng)站、小程序:定制開發(fā)/二次開發(fā)/仿制開發(fā)等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103