日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

assert函数_PHP 之 assert()函数

發(fā)布時間:2023/12/10 php 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 assert函数_PHP 之 assert()函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

assert()函數(shù)其實是一個斷言函數(shù)。

那么什么是斷言呢?百度百科上是這么說的:編寫代碼時,我們總是會做出一些假設(shè),斷言就是用于在代碼中捕捉這些假設(shè)。說到這里,大家應(yīng)該能知道assert()函數(shù)是干嘛用的了吧?好,接下來我們看一下PHP官方文檔是怎么解釋的:
assert — 檢查一個斷言是否為 FALSE

PHP

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

如果 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()。

相比于Python等其他語言來講,PHP的assert()函數(shù)顯得更加復(fù)雜。而在一般的開發(fā)中,當然,這是由于我沒有寫過單元測試,我是比較習(xí)慣于用if()else{}來進行布爾值判斷,或者是使用var_dump來打印調(diào)試。所以基本很少使用assert()這個斷言函數(shù)。尤其是因為既然它一般不推薦出現(xiàn)在生產(chǎn)模式下,那么開發(fā)完后的刪除操作顯得尤為重要,不經(jīng)意的就耗費了很多時間。

以上內(nèi)容希望幫助到大家,很多PHPer在進階的時候總會遇到一些問題和瓶頸,業(yè)務(wù)代碼寫多了沒有方向感,不知道該從那里入手去提升,對此我整理了一些資料,包括但不限于:分布式架構(gòu)、高可擴展、高性能、高并發(fā)、服務(wù)器性能調(diào)優(yōu)、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql優(yōu)化、shell腳本、Docker、微服務(wù)、Nginx等多個知識點高級進階干貨需要的可以免費分享給大家,需要請戳這里鏈接 或者關(guān)注咱們下面的專欄PHP大神進階?zhuanlan.zhihu.com 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的assert函数_PHP 之 assert()函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。