PHP中如何实现回调?

PHP中如何实现回调?

内容导读

收集整理的这篇技术教程文章主要介绍了PHP中如何实现回调?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2206字,纯文字阅读大概需要4分钟

内容图文

在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 "PHP中文网 <br>"; } // 输出字符串的函数 public function __invoke() { echo "__invoke()函数<br>"; } } // 类对象$obj = new Demo(); // 对象方法调用call_user_func(array($obj, 'someFunction')); call_user_func($obj); ?>

输出:

PHP中文网 __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);?>

输出:

PHPPythonMySQL

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注Gxl网相关教程栏目!!!

以上就是PHP中如何实现回调?的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的PHP中如何实现回调?全部内容,希望文章能够帮你解决PHP中如何实现回调?所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com