/** * 執行應用程序 * @param Request $request * @return mixed */ protected function runWithRequest(Request $request) { $this->initialize(); // 加載全局中間件 $this->loadMiddleware(); // 設置開啓事件機制 $this->app->event->withEvent($this->app->config->get('app.with_event', true)); // 監聽HttpRun $this->app->event->trigger(HttpRun::class); //實例化管道類同時會將中間件類轉化爲閉包推入隊列中 return $this->app->middleware->pipeline() ->send($request) ->then(function ($request) { return $this->dispatchToRoute($request); }); }