吵吵   2011-11-02  阅读:2,975

今天在图书馆等电梯的时候,前面一美女回头侧身看了我一眼,正当我还弄不清楚状况的时候,那美女就站不住了,眼看着就要倒了的时候抓了一把门槛缓了过来,然后我就笑了……然后就木有然后了,为光棍节求点rp,求温柔女啊…..

为什么要存在回调函数,在网络编程,尤其是我们的php的编程技术里面貌似没有什么用,它不是事件驱动的随时性调用。但是有这样一种情况,当我们的系统做好之后,你需要完成某个过程后再调用函数,因为系统已经做好了,你不可能知道用户在扩展的时候用什么函数,事实上这时候用户的函数都是自定义的,为了能够调用这些自定义的函数,在编程技术里面就有了回调函数。

call_user_func 函数存在的版本(PHP 4, PHP 5)
函数的原型:
mixed call_user_func ( callback $function [, mixed $parameter [, mixed $… ]] )
$function:即是我们需要回调函数的名称
mixed $parameter:后面接的都是回调函数的参数
返回值:回调函数的结果或者FALSE

1、回调普通函数:
例子:

function barber($type)
{
echo "You wanted a $type haircut, no problem\n";
}
call_user_func('barber', "mushroom");
call_user_func('barber', "shave");

运行结果:
You wanted a mushroom haircut, no problem
You wanted a shave haircut, no problem

2、回调namespace的函数:



关于namespace是为了区别函数或者类重名而生的,至于以后会不会有import就难说了。

3、回调类的函数或者方法



这个有几点要说明的是:
1、php的回调类的函数只能是静态函数
2、回调类的函数第一个参数是一个数组array(类名, 函数名)
3、在5.2.3后支持第一参数这么写$classname .’::say_hello’;

4、回调即刻构造的函数:



这个是最新的写法,在5.3.0后的,不过貌似没有什么用,不如写个函数了,函数代码很多多麻烦啊。

一些注意事项:
1.如果前一次的回调有问题的话,那么后面的回调函数就不会执行了。
2.要验证传入的参数是否正确is_callable() 函数。
3.参数传递用数组如$pipes,而不是$pipes[0], $pipes[1], $pipe[2]。

好了,至此回调函数已完,你问我能做什么?如递归等,最重要的是worpress因为有了它hook即钩子的思想就出来,为开发插件立下汗马功劳啊。

吵吵微信朋友圈,请付款实名加入:

吵吵 吵吵

13条回应:“php编程技术之回调函数”

  1. 蒙奇奇说道:

    第一段是么什意思?

  2. 雨帆说道:

    妹子看到你站不稳?难道是传说中的王八之气(王者霸气)。

  3. 视频会议说道:

    牛人就是牛人。。。哈哈。。

  4. 长沙律师说道:

    神马神马啊。

  5. 春妞说道:

    前半段很吸引人啊…

  6. 瑶浴说道:

    呵呵 扯到咯

  7. 俊文说道:

    闲暇之余学学php,慢慢积累

  8. 离心机说道:

    刚接触PHP,要慢慢来学习了

  9. celluo说道:

    看不懂 真的看不懂

  10. 民工说道:

    右下角的考研倒计时很有意思

  11. 七七说道:

    确实很不错啊 支持啦

  12. 老人礼物网说道:

    2楼你真会搭讪

发表评论

电子邮件地址不会被公开。 必填项已用*标注