每一次 Yii 应用开始处理 HTTP 请求时,它都会进行一个近似的流程。
用户提交指向 入口脚本 web/index.php
的请求。
应用会通过 request(请求) 应用组件 解析被请求的 路由。
应用创建一个 controller(控制器) 实例具体处理请求。
控制器会创建一个 action(动作) 实例并为该动作执行相关的 Filters(访问过滤器)。
如果任何一个过滤器验证失败,该动作会被取消。
如果全部的过滤器都通过,该动作就会被执行。
动作会加载一个数据模型,一般是从数据库中加载。
动作会渲染一个 View(视图),并为其提供所需的数据模型。
渲染得到的结果会返回给 response(响应) 应用组件。
响应组件会把渲染结果发回给用户的浏览器。
下面的示意图展示了应用是如何处理一个请求的。
在这个版块中,我们会更加详细地描述某些步骤的具体运作。