Yii框架遵循MVC设计模式,将应用分为模型(Model)、视图(View)和控制器(Controller)三层:
1. 模型(Model)。用于操作数据库,处理应用的数据逻辑。Yii的模型主要包括以下组成:
- ActiveRecord:用于操作数据库,根据数据表自动生成Model类。
- 数据验证:用于验证模型数据的正确性。
- 数据交互:用于定义模型与外部系统的数据交互逻辑。
2. 视图(View)。用于呈现 HTML 输出。Yii的视图主要包括:
- View文件:存储在views目录,扩展名为.php,用于生成HTML内容。
- 小部件(Widget):可重用的视图单元。
- 模板(Template):公共页面布局,如头部、菜单、内容等。
- 视图渲染:将数据动态嵌入到视图中生成HTML响应。
3. 控制器(Controller)。用于处理请求和调用模型和视图。Yii的控制器主要包括:
- 控制器类:扩展自Controller,包含请求处理逻辑。
- 动作(Action):控制器类中的方法,对应不同的请求。
- 路由:用于解析请求至相应的控制器动作。
- 过滤器:用于对控制器进入和退出进行校验和处理。
Yii的MVC工作流程如下:
1) 用户请求发送到入口文件web/index.php。
2) index.php将请求转交给应用实例App处理。
3) App通过路由解析请求找到相应的控制器和动作。
4) 控制器调用模型获取数据。模型从数据库获取数据。
5) 模型将数据返回给控制器。控制器将数据传递给视图。
6) 视图使用数据渲染HTML,并返回给控制器。
7) 控制器将HTML响应返回给用户,请求结束。
Yii的MVC框架具有结构清晰、控制器与视图解耦、易开发与维护等优点。熟练掌握Yii的MVC模式和组件功能,是学习Yii框架的关键。