示例#1
0
 public function init($path, $loader)
 {
     $host = \Group\Config\Config::get('app::swoole_host') ?: "127.0.0.1";
     $port = \Group\Config\Config::get('app::swoole_port') ?: 9777;
     $setting = \Group\Config\Config::get('app::swoole_setting');
     $http = new swoole_http_server($host, $port);
     $http->set($setting);
     $http->on('request', function ($request, $response) use($path, $loader) {
         $request->get = isset($request->get) ? $request->get : [];
         $request->post = isset($request->post) ? $request->post : [];
         $request->cookie = isset($request->cookie) ? $request->cookie : [];
         $request->files = isset($request->files) ? $request->files : [];
         $request->server = isset($request->server) ? $request->server : [];
         $request->server['REQUEST_URI'] = isset($request->server['request_uri']) ? $request->server['request_uri'] : '';
         preg_match_all("/^(.+\\.php)(\\/.*)\$/", $request->server['REQUEST_URI'], $matches);
         $request->server['REQUEST_URI'] = isset($matches[2]) ? $matches[2][0] : '';
         if ($request->server['request_uri'] == '/favicon.ico') {
             $response->end();
             return;
         }
         $this->fix_gpc_magic($request);
         $app = new App();
         $app->initSwoole($path, $loader, $request);
         $data = $app->handleSwooleHttp();
         $response->status($data->getStatusCode());
         $response->end($data->getContent());
         return;
     });
     $http->start();
 }
示例#2
0
 /**
  * set ServiceProviders
  *
  */
 public function setServiceProviders()
 {
     $providers = Config::get('app::serviceProviders');
     $this->serviceProviders = array_merge($providers, $this->serviceProviders);
 }