PHP中如何实现回调?程序员才知道的简便方法来了!

在PHP中,回调是一个可调用类型的函数对象/引用;回调(或可调用)变量可以用作函数、对象方法和静态类方法。实现回调有多种方法,下面本篇文章就来介绍一些,希望对大家有所帮助。
1、标准回调
示例:使用call_user_func()函数调用一个函数,其中包含的参数是函数名称。
header(content-type:text/html;charset=utf-8);
functiontext1(){
echo'这个是text1
';
};
call_user_func('text1');
?>
输出:
1这个是text1
说明:调用了一个call_user_func()函数,然后call_user_func()函数在执行过程中又往回调用了text1()函数。
2、静态类方法回调
示例:使用call_user_func()函数调用静态类方法,其中的参数是一个包含类名称和要调用的方法的数组。
header(content-type:text/html;charset=utf-8);
classDemo{
//用于输出字符串的函数
staticfunctionsomeFunction(){
echo父级函数输出
;
}
}
classArticleextendsDemo{
//用于输出字符串的函数
staticfunctionsomeFunction(){
echo子级函数输出
;
}
}
//静态类方法回调
call_user_func(array('Article','someFunction'));
call_user_func('Article::someFunction');
//相对静态类方法回调
call_user_func(array('Article','parent::someFunction'));
?>
输出:
子级函数输出
子级函数输出
父级函数输出
3、对象方法回调
示例:使用call_user_func()函数调用对象方法,其中参数是包含对象变量和要调用方法的字符串名称的数组。
header(content-type:text/html;charset=utf-8);
classDemo{
//输出字符串的函数
staticfunctionsomeFunction(){
echophp培训
;
}
//输出字符串的函数
publicfunction__invoke(){
echo__invoke()函数
;
}
}
//类对象
$obj=newDemo();
//对象方法调用
call_user_func(array($obj,'someFunction'));
call_user_func($obj);
?>
输出:
php培训
__invoke()函数
4、闭包回调
示例:使用array_map()函数对闭包函数赋予的有效参数数组进行标准调用或映射闭包函数,可以使闭包函数可调用,其中参数是闭包函数及其有效参数的数组。
header(content-type:text/html;charset=utf-8);
//用于输出
$print_function=function($string){
echo$string.
;
};
//字符串数组
$string_array=array(PHP,Python,MySQL);
//可调用闭包
array_map($print_function,$string_array);
?>
输出:
PHP
Python
MySQL
非本网作品均来自互联网,转载目的在于传递更多信息,并不**本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其他问题,请及时与本网联系,我们将及时删除内容。