在workerman中会常常使用,咱们先写一个回调函数,当某个行为被触发后使用该函数处理相关逻辑。php
在PHP中最经常使用的几种回调写法以下node
匿名函数作为回调微信
匿名函数(Anonymous functions),也叫闭包函数(closures),容许临时建立一个没有指定名称的函数。最常常用做回调函数(callback)参数的值。固然,也有其它应用的状况。yii2
匿名函数的回调常常将其赋给一个变量(或一个对象的属性)闭包
最终结果会输出11。框架
这中间有一个use的用法,如今不少框架都在使用,包括我本身发布的 yii2-wx 在处理微信付款结果通知的时候也有用到。yii
简单点说就是当咱们设置了匿名函数的时候,能够从父做用域继承变量,好比以下代码函数
则结果是21,没错,匿名函数体可使用继承过来的变量 $number。学习
一点要注意的是,这种继承是在函数被定义的时候就肯定了,好比以下代码this
结果仍是21,后面从新的赋值并无起到做用。
那咱们如何解决这个问题那?
@nai8@
只须要将继承的变量设置为引用便可,以下
搞定了,22出现了。1 + 10 + 11;
在workerman中通常匿名函数做为回调用法以下
普通函数做为回调
这种用法并无什么能够多说的,不像匿名函数那么多细节,直接看代码。
在这里没有use用法,而且函数定义和赋值给变量顺序谁上谁下均可以,在语法上这只是对add的一次变量赋值,之因此能做为回调是咱们使用了add() 致使的,在workerman中通常用法以下
类方法做为回调
学习了前面的知识,类的方法做为回调就好学了,一句话:将一个类的公共方法做为回调函数;
直接上在workerman中的用法
咱们将MyClass的onMsg方法做为回调赋值给$worker->onMessage。
类静态方法作为回调
这个最简单了,看代码。
咱们将MyClass的静态方法onMsg方法做为回调赋值给worker->onMessage,由于是静态方法,在onMsg内不能用this哈。
以上就是学习workerman以前须要知道的几种php回调写法的详细内容
有须要学习交流的友人请加入Swoole交流群的我们一块儿,有问题一块儿交流,一块儿进步!前提是你是学技术的。感谢阅读!
点此加入该群