PHP回撥/可呼叫項
定義和用法
回撥是PHP中的偽型別。在PHP 5.4中,引入了可呼叫型別提示,它類似於回撥。當某個物件被識別為可呼叫時,這意味著它可以被用作可以呼叫的函式。可呼叫項可以是內建或使用者定義的函式,或任何類中的方法。
is_callable() 函式可用於驗證識別符號是否可呼叫。PHP具有call_user_function(),它接受一個函式名作為引數。
以下示例顯示了一個內建函式是可呼叫的。
示例
<?php
var_dump (is_callable("abs"));
?>輸出
這將得到以下結果−
bool(true)
在以下示例中,將測試使用者定義的函式是否可呼叫。
示例
<?php
function myfunction(){
echo "Hello World";
}
echo is_callable("myfunction") . "
";
call_user_func("myfunction")
?>輸出
這將得到以下結果−
1 Hello World
要將物件方法作為可呼叫項傳遞,物件本身及其方法作為陣列中的兩個元素傳遞
示例
<?php
class myclass{
function mymethod(){
echo "This is a callable" . "
";
}
}
$obj=new myclass();
call_user_func(array($obj, "mymethod"));
//array passed in literal form
call_user_func([$obj, "mymethod"]);
?>輸出
這將得到以下結果−
This is a callable This is a callable
類中的靜態方法也可以作為可呼叫項傳遞。除了物件,陣列引數中第一個元素應該是類的名稱
示例
<?php
class myclass{
static function mymethod(){
echo "This is a callable" . "
";
}
}
$obj=new myclass();
call_user_func(array("myclass", "mymethod"));
//using scope resolution operator
call_user_func("myclass::mymethod");
?>輸出
這將得到以下結果−
This is a callable This is a callable
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP