小编给大家分享一下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中实现回调的方法有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。