yii2源码分析-应用的生命周期之执行请求
3474
0
0
最近发现自己懒了很多,总觉得生活少了点什么。今天看了下猎场,才发现原来是少了那份激情!
前面我们介绍了那么多与应用生命周期相关联的信息,包括应用的预初始化,初始化等等,其实这些都是为运行应用而做的准备。
今天我们要介绍的内容,其实很重要,我们要讲一下这些准备工作就绪之后,应用到底是如何运行的。
应用的运行,可能要分为几个步骤,我们先从 yii\base\Application::run 方法说起。
yii\base\Application::run 方法的部分代码如下
$this->state = self::STATE_BEFORE_REQUEST; $this->trigger(self::EVENT_BEFORE_REQUEST); $this->state = self::STATE_HANDLING_REQUEST; $response = $this->handleRequest($this->getRequest()); $this->state = self::STATE_AFTER_REQUEST; $this->trigger(self::EVENT_AFTER_REQUEST); $this->state = self::STATE_SENDING_RESPONSE; $response->send(); $this->state = self::STATE_END; return $response->exitStatus;
代码虽然不多,但是整个流程全部看下来,还真够我们在喝一壶的。
首先,标记当前请求的生命周期状态为 yii\base\Application::STATE_BEFORE_REQUEST,即请求之前的一种状态,随后触发 yii\base\Application::EVENT_BEFORE_REQUEST 事件。
有同学可能这里就去追呀找呀,这个事件处理函数在哪呢?啥时候注册的?找了半天把自己也整迷糊了,也没看下去的心情了。这一点其实我们在yii2实战中介绍预定义
还有90%的精彩内容,购买继续阅读
- 评论区
共3条评论
登录
后发布评论