每次 Yii 应用程序处理请求时,都会经历类似以下流程:
- 用户发起的请求传入 入口脚本
web/index.php
。 - 入口脚本加载应用程序 配置 ,并根据配置创建一个 应用程序 实例,然后处理请求。
- 应用程序在 request(请求) 应用程序组件的帮助下解析请求 route(路由) 。
- 应用程序创建 controller(控制器) 实例来处理请求。
- 该控制器创建一个 Action(动作) 实例,然后执行与该实例相关的所有过滤器(filter)。
- 若任何一个 过滤 验证失败,则该动作执行会被取消。
- 若素有过滤验证通过,才会执行该动作。
- 该动作加载一个数据 model(模型),此模型可能来自某个数据库。
- 该动作渲染一个 view(视图),且同时提供上述数据模型。
- 渲染结果会返回给 response(响应) 应用程序组件。
- 响应组件将结果发送给用户的浏览器。
以下图标展示了一个应用程序如何处理请求:

在这一章节,我们将详细描述这些步骤的工作流程。
译者注(付费阅读):
[wpum_restrict_to_user_roles roles=”paid_subscriber_v1, editor, administrator”]
针对流程解读:
- 此步骤针对使用 Yiisoft 官方提供的模板创建的应用程序,不论是 basic(基础)还是 advanced(高级)模板,都在 web 目录下有一个 index.php,此文件就是入口脚本。
[/wpum_restrict_to_user_roles]
您必须登录才能发表评论。