ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# 运行机制概述 每一次 Yii 应用开始处理 HTTP 请求时,它都会进行一个近似的流程。 1. 用户提交指向 [入口脚本](http://www.yiichina.com/doc/guide/2.0/structure-entry-scripts) `web/index.php` 的请求。 2. 入口脚本会加载 [配置数组](http://www.yiichina.com/doc/guide/2.0/concept-configurations) 并创建一个 [应用](http://www.yiichina.com/doc/guide/2.0/structure-applications) 实例用于处理该请求。 3. 应用会通过 [request(请求)](http://www.yiichina.com/doc/guide/2.0/runtime-requests) 应用组件解析被请求的 [路由](http://www.yiichina.com/doc/guide/2.0/runtime-routing)。 4. 应用创建一个 [controller(控制器)](http://www.yiichina.com/doc/guide/2.0/structure-controllers) 实例具体处理请求。 5. 控制器会创建一个 [action(动作)](http://www.yiichina.com/doc/guide/2.0/structure-controllers) 实例并为该动作执行相关的 Filters(访问过滤器)。 6. 如果任何一个过滤器验证失败,该动作会被取消。 7. 如果全部的过滤器都通过,该动作就会被执行。 8. 动作会加载一个数据模型,一般是从数据库中加载。 9. 动作会渲染一个 View(视图),并为其提供所需的数据模型。 10. 渲染得到的结果会返回给 [response(响应)](http://www.yiichina.com/doc/guide/2.0/runtime-responses) 应用组件。 11. 响应组件会把渲染结果发回给用户的浏览器。 下面的示意图展示了应用是如何处理一个请求的。 ![](https://box.kancloud.cn/2015-10-10_561892fbae5c2.png) 在这个版块中,我们会更加详细地描述某些步骤的具体运作。