为了账号安全,请及时绑定邮箱和手机立即绑定

希望增加一个得到onRequest的协程ID,这样方便开发助手函数。

希望增加一个得到onRequest的协程ID,这样方便开发助手函数。

PHP
明月笑刀无情 2019-03-14 22:04:26
PHP的其他框架都是一个进程处理一个请求。所以有很多简短的全局助手函数。比如db model input等等。但是SWOOLE 一个请求是在一个协程内完成的,就不太好实现 助手函数。 希望能增加一个得到onrequest的协程ID。这样就可以实现助手函数。$staticReqs=array();function getRequestID(){    return co::getCid(); //这里希望有新的函数}function model(){    global staticReqs;     $db=$staticReqs[getRequestID()];     $db->query(...);      } $server = new Swoole\Http\Server('127.0.0.1', 9501, SWOOLE_BASE); 协程开始#1$server->on('Request', function($request, $response) {    $db=new Swoole\Coroutine\MySQL();    $db->connect.....    staticReqs[getRequestID()]=$db;   //业务    //处理,如果里面还有go协程的话getCid()就有得不到Request的协程ID,     //直接调用 函数不传参数model()    unset(staticReqs[getRequestID()]);  }); $server->start();
查看完整描述

2 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

这个功能有的 
SwooleCoroutine::getuid(); 返当前协程id

查看完整回答
反对 回复 2019-03-14
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

如果在一个函数中(不是类的方法)调用getuid(), 这个函数如果是在子协程中调用的话, 得到的ID 就不是onrequest的协程ID。 当然如果自己计算好 通过得到父协程ID 也是有办法的。但是程序代码多了。就容易出错。

查看完整回答
反对 回复 2019-03-14
  • 2 回答
  • 0 关注
  • 552 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信