溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中Callable如何強制指定回調類型

發布時間:2021-08-30 15:38:33 來源:億速云 閱讀:197 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關PHP中Callable如何強制指定回調類型的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

如果一個方法需要接受一個回調方法作為參數,我們可以這樣寫

<?php
function dosth($callback){
call_user_func($callback);
}
function callback(){
echo 'do sth callback';
}
dosth('callback');
?>

輸出:

do sth callback

但我們不能確定回調方法是否可以調用,因此需要做很多額外的工作去檢查這個回調方法是否可以調用。

有什么更好的方法可以判斷回調方法是否可調用?
我們可以使用callable來強制指定參數為回調類型,這樣可以保證回調方法必須是可以調用的。

例如,回調方法為一個不存在的方法

<?php
function dosth(callable $callback){
call_user_func($callback);
}
dosth('abc');
?>

執行后,提示錯誤:TypeError: Argument 1 passed to dosth() must be callable
程序并不能執行到dosth內部的處理,從參數類型處就已經做了檢查處理,起到保護作用。

而如果把callable去掉

<?php
function dosth($callback){
call_user_func($callback);
}
dosth('abc');
?>

執行后,提示警告:Warning: call_user_func() expects parameter 1 to be a valid callback, function ‘abc' not found or invalid function name

程序能執行到dosth內部的處理,這樣就需要做很多額外的工作去檢查這個回調方法是否可以調用。

因此,如果方法的參數是回調方法,都應加上callable強制指定為回調類型,這樣可以減少調用的錯誤和提高程序的質量。

感謝各位的閱讀!關于“PHP中Callable如何強制指定回調類型”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女