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 回答
- 0 關注
- 565 瀏覽
添加回答
舉報
0/150
提交
取消