php函数之回调函数(三)类静态函数和对象的方法回调

伊谢尔伦
发布: 2017-05-13 11:27:20
原创
3418人浏览过

php类静态函数和对象的方法回调说明

前面一些章节中都是通过全局函数( 没有在任何对象或类中定义的函数) 声明和应用的回调函数,但如果遇到回调类中的静态方法,或是对象中的普通方法,则会有所不同。面向对象技术将在本书后面的章节中做详细介绍,所以对于本节介绍的这种应用方式,可以再后面的学习和应用中有需要时,在回过头来查阅学习即可。回调的方法,如果是一个类的静态方法或对象中的一个成员方法,那又要怎么办呢?上一章节我们介绍了php函数之回调函数的call_user_func_array() 函数,可以再来回顾一下  call_user_func_array() 函数的应用。可以将第一个参数 函数名称字符串 改成 数组类型的参数。

下面通过分别申明一个类,类中在申明一个静态成员方法。使用系统函数调用类中的静态成员方法和实例对象成员方法。

其代码如下面所示:

<?php
//声明一个类demo,类中声明一个静态成员方法fun()
 class demo{
   static function fun($str1,$str2){
     echo "str1 = ".$str1;
     echo "<br>";
     echo "str2 = ".$str2;
   }
 }
//声明一个类test,类中声明一个静态成员方法fun()
 class test{
   function fun($str1,$str2){
     echo "str1 = ".$str1;
     echo "<br>";
     echo "str2 = ".$str2;
   }
 }
//使用系统函数call_user_func_array(),调用demo类中的静态成员方法fun()
call_user_func_array( array("demo","fun"), array("php.cn", "php中文网"));
echo "<br>------------------------<br>";
//使用系统函数call_user_func_array(),调用test类中的实例对象成员方法fun()
call_user_func_array( array(new test(),"fun"), array("thinkphp","php框架"))
?>
登录后复制

说明:所有使用  call_user_func_array() 函数实现的自定义回调函数,或者php系统中为我们提供的所有回调函数,都可以像该函数一样,在第一个参数中使用数组类型值,而且数组中必须使用两个元素:如果调用类中的成员方法,就需要在这个数组参数中指定第一个元素为类名称字符串,第二个元素则为该类中的静态方法名称字符串;如果调用对象中的成员方法名称,则这个数组中的第一个元素为对象的引用,第二个元素则是该对象中的成员名称字符串。 call_user_func_array() 函数的第二个参数使用没有变化。

立即学习PHP免费学习笔记(深入)”;

回调函数的说明格式总结如下所示,其中 callback() 代表所有回调函数:

1. 回调全局函数的格式如下所示:

callback("函数名称字符串")
登录后复制

2. 回调类中的静态成员方法的格式如下所示:

callback(array("类名称字符串","类中静态方法名称字符串"))
登录后复制

3. 回调对象中的成员方法的格式如下所示:

callback(array(对象引用,"对象中方法名称字符串"))
登录后复制

系统为我们提供的回调函数和我们自定义的回调函数在调用方法上都是完全相同的。至此,php函数之回调函数部分就介绍完毕了。


【相关教程推荐】

1. 《php.cn独孤九贱(4)-php视频教程

2.  php编程从入门到精通全套视频教程

3.  php实战视频教程

以上就是php函数之回调函数(三)类静态函数和对象的方法回调的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号