THINKPHP6 實現中間件

/**
 * 執行應用程序
 * @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);
        });
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章