PHP中如何实现回调?

青灯夜游
发布: 2023-04-05 15:34:01
原创
5583 人浏览过

在PHP中,回调是一个可调用类型的函数对象/引用;回调(或可调用)变量可以用作函数、对象方法和静态类方法。实现回调有多种方法,下面本篇文章就来介绍一些,希望对大家有所帮助。【视频教程推荐:PHP教程

PHP中如何实现回调?

1、标准回调

示例:使用call_user_func()函数调用一个函数,其中包含的参数是函数名称。

<?php 
header("content-type:text/html;charset=utf-8");
function text1(){
    echo &#39;这个是text1<br>&#39;;
};
call_user_func(&#39;text1&#39;);
  
?>
登录后复制

输出:

这个是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(&#39;Article&#39;, &#39;someFunction&#39;)); 
  
call_user_func(&#39;Article::someFunction&#39;); 
  
// 相对静态类方法回调
call_user_func(array(&#39;Article&#39;, &#39;parent::someFunction&#39;)); 
  
?>
登录后复制

输出:

子级函数输出
子级函数输出
父级函数输出
登录后复制

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, &#39;someFunction&#39;)); 
  
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);
?>
登录后复制

输出:

PHP
Python
MySQL
登录后复制

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

以上是PHP中如何实现回调?的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板