YII2.0生存时间简单总结

一.初始化

(一)构造函数

  1. Yii::$app->loadedModules 将自己装入这个属性中[属性的属性]
  2. 初始化配置[路径;时区;将核心组件装入components配置中]
  3. 注入异常处理类[涉及到了_components[存对象]和_definitions[存id=>和各种属性包括class]以及各种创建对象的方法]
  4. 通过Yii::configure($this, $config);将所有配置中的属性加载到 yii\web\Application实例中
  5. 从子类中执行init()

(二)init()

  1. 设置网址目录别名

  2. 再次加载别名

  3. 加载bootstrap => log

二 . run


(一).yii\web\Application::handleRequest处理请求


1.将当前请求解析为路由和相关参数
2.runAction
    1.createController
        1.获取模块Module
        2.递归获取控制器[在创建控制器的时候就实例化控制器的方法了,但是还未执行beforeAction]
    2.通过获取的控制器和方法处理 业务[获取执行结果]
        1.yii\base\Module::runAction中$result = $controller->runAction($actionID, $params);后才会执yii\base\Controller::runAction
            1.创建行为 并将创建的行为放入Yii::$app->requestedAction
            2.执行module的beforeAction 只要有一个是false就不再执行控制器的beforeAction
            3.执行控制器的BeforeAction,放回true才执行下边,否则直接跳出
            4.$action->runWithParams($params)执行控制器方法并获取结果
            5.$result = $this->afterAction($action, $result);执行控制器的afterAction[业务控制器会覆盖父类的]
            6.执行module中的afterAction
    3.将上边的结果给响应对象的data属性[如果上边结果不为null]
3.响应!
4.结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值