Example #1
0
 /**
  * Method  onRequest
  * @desc   http 请求部分
  * @author WenJun <*****@*****.**>
  * @param swoole_http_request  $request
  * @param swoole_http_response $response
  * @return void
  */
 public function onRequest(swoole_http_request $request, swoole_http_response $response)
 {
     //清理环境
     Yaf_Registry::flush();
     Yaf_Dispatcher::destoryInstance();
     //注册全局信息
     $this->initRequestParam($request);
     Yaf_Registry::set('SWOOLE_HTTP_REQUEST', $request);
     Yaf_Registry::set('SWOOLE_HTTP_RESPONSE', $response);
     //执行
     ob_start();
     try {
         $requestObj = new Yaf_Request_Http($request->server['request_uri']);
         $configArr = Yaf_Application::app()->getConfig()->toArray();
         if (!empty($configArr['application']['baseUri'])) {
             //set base_uri
             $requestObj->setBaseUri($configArr['application']['baseUri']);
         }
         $this->yafAppObj->bootstrap()->getDispatcher()->dispatch($requestObj);
     } catch (Yaf_Exception $e) {
         var_dump($e);
     }
     $result = ob_get_contents();
     ob_end_clean();
     $response->end($result);
 }