ThinkPHP6 原始碼分析之請求流程

JaguarJack發表於2019-07-03

請求流程

在應用初始化結束之後,框架執行所具備的基本功能就載入結束了。然後就應該是處理使用者請求了。首先我們應該看的就是流程。

if (is_file($this->app->getBasePath() . 'middleware.php')) {
    $this->app->middleware->import(include $this->app->getBasePath() . 'middleware.php');
}

if ($this->multi) {
    $this->parseMultiApp();
}
$this->app->event->withEvent($this->app->config->get('app.with_event', true));

$this->app->event->trigger('HttpRun');

$withRoute = $this->app->config->get('app.with_route', true) ? function () {
    $this->loadRoutes();
} : null;

return $this->app->route->dispatch($request, $withRoute);
  • 載入全域性中介軟體 app/middleware.php, 預設這些都是關閉的
  • 多應用處理
  • 設定事件監聽並且監聽 httpRun 事件
  • 載入路由,有一個需要注意的就是框架支援註解路由。預設關閉
  • 分發請求

上面便是整個請求的過程。下面會具體分析中介軟體在其中扮演的角色,有什麼樣的功能,該怎麼使用它。

文章轉載於thinkphp6原始碼分析值請求流程

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章