php sleep usleep php usleep php使用
# 如何在回调函数中访问外部的变量在swoole _服务器/swoole _客户端的事件回调函数中,需要读取调用外部的变量和对象,可以通过下面的几种方法实现。* * * * *[TOC=2,3]*
顺晟科技
2022-11-30 09:33:02
73
#如何在回调函数中访问外部变量
在swoole _ server /swoole _ client的事件回调函数中,需要读取和调用外部的变量和对象,可以通过以下方法实现。
* * * * *
[TOC=2,3]
* * * * *
# #首先,事件回调函数使用对象属性代替。
~~~php
类别服务器
{
公共$ buffer
公共$服务器
函数onReceive($serv,$fd,$from_id,$data)
{
//在这里可以读取事件回调对象上的属性和方法。
$ this-buffer[$ FD]=$ data;
$ this-hello();
}
Hello函数()
{
}
运行函数()
{
$ serv=new swole _ server(' 127 . 0 . 0 . 1 ',9501);
$ this-serv=$ serv;
$serv-on('receive ',array($this,' on receive));
$ serv-start();
}
}
$ server=新服务器;
$ server-run();
~~~
# #二。使用全局变量
~~~php
$ buffer=array();
$serv-on('receive ',function($serv,$fd,$from_id,$data) {
全局$ buffer
$ buffer[$ FD]=$ data;
});
~~~
# #三。使用类静态变量
~~~php
分类试验
{
静态$缓冲区
}
$serv-on('receive ',function($serv,$fd,$from_id,$data) {
test:$ buffer[$ FD]=$ data;
});
~~~
# #四。在匿名函数中使用语法
~~~php
$ buffer=array();
$serv-on('receive '),函数($serv,$fd,$from_id,$data) use ($buffer) {
$ buffer[$ FD]=$ data;
});
~~~
需要PHP5.4或更高版本。
多个参数可以用逗号分隔,比如使用($buffer,$users,$config)
# # 5.直接保存在swole _ server/swole _ client对象上。
~~~php
$ serv-buffer=array();
$serv-on('receive '),函数($serv,$fd,$from_id,$data) use ($buffer) {
$ serv-buffer[$ FD]=$ data;
});
~~~
30
2022-11
30
2022-11
30
2022-11
17
2022-11
17
2022-11
31
2022-10