Laravel
深度挖掘Laravel生命周期
Yii2
Yii生命周期
- 用户向入口脚本 web/index.php 发起请求。
- 入口脚本加载应用配置 并创建一个应用实例去处理请求。
- 应用通过请求组件解析请求的路由。
- 应用创建一个控制器实例去处理请求。
- 控制器创建一个动作实例并针对操作执行过滤器。
- 如果任何一个过滤器返回失败,则动作取消。
- 如果所有过滤器都通过,动作将被执行。
- 动作会加载一个数据模型,或许是来自数据库。
- 动作会渲染一个视图,把数据模型提供给它。
- 渲染结果返回给响应组件。
- 响应组件发送渲染结果给用户浏览器
应用主体生命周期
当运行 入口脚本 处理请求时, 应用主体会经历以下生命周期:
- 入口脚本加载应用主体配置数组。
- 入口脚本创建一个应用主体实例:
- 调用 preInit() 配置几个高级别应用主体属性, 比如basePath。
- 注册 error handler 错误处理方法。
- 配置应用主体属性。
- 调用 init() 初始化,该函数会调用bootstrap() 运行引导启动组件。
- 入口脚本调用 yii\base\Application::run() 运行应用主体:
- 触发EVENT_BEFORE_REQUEST 事件。
- 处理请求:解析请求 路由 和相关参数; 创建路由指定的模块、控制器和动作对应的类,并运行动作。
- 触发 EVENT_AFTER_REQUEST 事件。
- 发送响应到终端用户。
- 入口脚本接收应用主体传来的退出状态并完成请求的处理。
TP5
TP5的生命周期
|
请发表评论