PHP的其他框架都是一個進程處理一個請求。所以有很多簡短的全局助手函數(shù)。比如db model input等等。但是SWOOLE 一個請求是在一個協(xié)程內(nèi)完成的,就不太好實現(xiàn) 助手函數(shù)。 希望能增加一個得到onrequest的協(xié)程ID。這樣就可以實現(xiàn)助手函數(shù)。$staticReqs=array();function getRequestID(){ return co::getCid(); //這里希望有新的函數(shù)}function model(){ global staticReqs;
$db=$staticReqs[getRequestID()];
$db->query(...);
}
$server = new Swoole\Http\Server('127.0.0.1', 9501, SWOOLE_BASE);
協(xié)程開始#1$server->on('Request', function($request, $response) {
$db=new Swoole\Coroutine\MySQL();
$db->connect.....
staticReqs[getRequestID()]=$db; //業(yè)務
//處理,如果里面還有g(shù)o協(xié)程的話getCid()就有得不到Request的協(xié)程ID,
//直接調(diào)用 函數(shù)不傳參數(shù)model()
unset(staticReqs[getRequestID()]);
});
$server->start();
- 2 回答
- 0 關(guān)注
- 566 瀏覽
添加回答
舉報
0/150
提交
取消