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

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

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

PHP
繁花如伊 2019-03-13 14:53:32
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贡献1806条经验 获得超8个赞

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

查看完整回答
反对 回复 2019-03-13
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

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

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

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号