18910140161

php sleep usleep php usleep php使用

顺晟科技

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;

});

~~~

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航