yii 流程:
1、用户向入口脚本 web/index.php 发起请求。
2、入口脚本加载应用配置 并创建一个应用实例去处理请求。3、应用通过请求组件,解析请求的路由。
4、应用创建一个控制器实例去处理请求。
5、控制器创建一个操作实例并针对操作执行过滤器。
6、如果任何一个过滤器返回失败,则操作退出。
7、如果所有过滤器都通过,操作将被执行。
8、操作会加载一个数据模型,或许是来自数据库。
9、操作会渲染一个视图,将数据模型提供给它。
10、渲染结果返回给响应组件。
11、响应组件发送渲染结果给用户浏览器。
以后的文章会按照这个顺序来写
public function run() { try { //请求前过滤器 $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; } catch (ExitException $e) { $this->end($e->statusCode, isset($response) ? $response : null); return $e->statusCode; } }