您好,登錄后才能下訂單哦!
小編給大家分享一下PHP中實現回調的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
=在PHP中,回調是一個可調用類型的函數對象/引用;回調(或可調用)變量可以用作函數、對象方法和靜態類方法。實現回調有多種方法,下面本篇文章就來介紹一些,希望對大家有所幫助。
1、標準回調
示例:使用call_user_func()函數調用一個函數,其中包含的參數是函數名稱。
<?php header("content-type:text/html;charset=utf-8"); function text1(){ echo '這個是text1<br>'; }; call_user_func('text1'); ?>
輸出:
這個是text1
說明:調用了一個call_user_func()函數,然后call_user_func()函數在執行過程中又往回調用了 text1()函數。
2、靜態類方法回調
示例:使用call_user_func()函數調用靜態類方法,其中的參數是一個包含類名稱和要調用的方法的數組。
<?php header("content-type:text/html;charset=utf-8"); class Demo { // 用于輸出字符串的函數 static function someFunction() { echo "父級函數輸出 <br>"; } } class Article extends Demo { // 用于輸出字符串的函數 static function someFunction() { echo "子級函數輸出 <br>"; } } // 靜態類方法回調 call_user_func(array('Article', 'someFunction')); call_user_func('Article::someFunction'); // 相對靜態類方法回調 call_user_func(array('Article', 'parent::someFunction')); ?>
輸出:
子級函數輸出 子級函數輸出 父級函數輸出
3、對象方法回調
示例:使用call_user_func()函數調用對象方法,其中參數是包含對象變量和要調用方法的字符串名稱的數組。
<?php header("content-type:text/html;charset=utf-8"); class Demo { // 輸出字符串的函數 static function someFunction() { echo "億速云 <br>"; } // 輸出字符串的函數 public function __invoke() { echo "__invoke()函數<br>"; } } // 類對象 $obj = new Demo(); // 對象方法調用 call_user_func(array($obj, 'someFunction')); call_user_func($obj); ?>
輸出:
億速云 __invoke()函數
4、閉包回調
示例:使用array_map()函數對閉包函數賦予的有效參數數組進行標準調用或映射閉包函數,可以使閉包函數可調用,其中參數是閉包函數及其有效參數的數組。
<?php header("content-type:text/html;charset=utf-8"); // 用于輸出<br> $print_function = function($string) { echo $string."<br>"; }; // 字符串數組 $string_array = array("PHP", "Python", "MySQL"); // 可調用閉包 array_map($print_function, $string_array); ?>
輸出:
PHP Python MySQL
看完了這篇文章,相信你對PHP中實現回調的方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。