模型-视图-控制器 (MVC)
Yii 实现了 Web 编程中广为采用的“模型-视图-控制器”(MVC)设计模式。MVC 致力于分离业务逻辑和用户界面,这样开发者可以很容易地修改某个部分而不影响其它。在 MVC 中,模型表现信息(数据)和业务规则;视图包含用户界面中用到的元素,比如文本、表单输入框;控制器管理模型和视图间的交互。
除了 MVC,Yii 还引入了一个叫做 application 的前端控制器,它表现整个请求过程的运行环境。Application 接收用户的请求并把它分发到合适的控制器作进一步处理。
下图描述了一个 Yii 应用的静态结构:
Yii 应用的静态结构
1. 一个典型的处理流程
下图描述了一个 Yii 应用处理用户请求时的典型流程:
Yii 应用的典型流程
- 用户访问
http://www.example.com/index.php?r=post/show&id=1
,Web 服务器执行入口脚本index.php
来处理该请求。 - 入口脚本建立一个应用实例并运行之。
- 应用从一个叫
request
的<