应用的静态结构:
请求生命周期:
应用主体生命周期
1.入口脚本,引入 vender/autoload.php
引入 Yii.php
引入 BaseYii.php
引入 class.php (Yii2 核心类映射文件)
引入配置文件 web.php
2.使用 $config 对 yii\web\Application.php 初始化
preInit 处理 : 设置别名,路径, 合并核心 component 等
设置错误处理函数:
$this->set(); 到属性里面
$this->getErrorHanlder() 时,才创建对象:
最后才注册 错误处理,异常处理,register_shutdown_function();
组件初始化:
对 Application 进行初始化:
对 Yii 框架的 extensions 进行设置:
初始化 log, yii, debug 组件:
3.开始运行 run();
处理请求:
解析 url:
将解析到的路由传到 runActioin() 中:
4.创建路由器:
判断是否有 id = test 的模块(无的话,id 就为 controller)
通过 id 创建路由器
5.创建方法action()
通过 $action->runWithParams() 运行 action :