ThinkPHP6 源码分析之请求流程

请求流程

在应用初始化结束之后,框架运行所具备的基本功能就加载结束了。然后就应该是处理用户请求了。首先我们应该看的就是流程。

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 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!