约 2 分钟阅读
请求生命周期 (Request Lifecycle)
深入理解 Laravel 的请求生命周期,将帮助你更自如地掌控应用的架构设计、服务注册与全局拦截逻辑。
核心流程时序图
HTTP 请求
│
▼
public/index.php (单入口文件,加载 Composer 自动加载器)
│
▼
bootstrap/app.php (实例化 Application 核心容器)
│
▼
HTTP Kernel 处理管道
│
├── 全局与路由中间件过滤 (Middleware Pipeline)
│
├── 路由调度与控制器分发 (Routing & Controller)
│
└── 业务逻辑执行与响应封装 (Response Generation)
│
▼
返回 HTTP 响应至客户端浏览器 (Terminable Middleware 善后)
关键节点详解
- 入口文件:所有 Web 请求均由
public/index.php统一接收。 - 容器启动:加载
bootstrap/app.php,构建依赖注入服务容器并加载服务提供者。 - 服务提供者启动:依次调用各服务提供者的
register()和boot()方法(如数据库连接、事件监听、路由加载)。 - 管道模式分发:请求流经全局中间件(如维持会话、CSRF 校验、维护模式检测)后,精确匹配到路由闭包或控制器方法。
- 输出响应:控制器返回结果转化为
Illuminate\Http\Response对象,并发送 HTTP 标头与响应体。