CodeIgniter框架遵循MVC设计模式,将应用分为模型(Model)、视图(View)和控制器(Controller)三个层面:
1. 模型(Model)。用于操作数据库,处理应用数据逻辑。在CodeIgniter中,模型存储在application/models目录下,使用PHP文件定义,如User.php。
2. 视图(View)。用于显示数据,通常是HTML页面。在CodeIgniter中,视图存储在application/views目录下,也是使用PHP文件定义,如user_list.php。
3. 控制器(Controller)。用于处理HTTP请求并调用模型和视图。在CodeIgniter中,控制器存储在application/controllers目录下,也是使用PHP文件定义,如User.php。
MVC设计的工作流程如下:
1) 客户端(浏览器)发送HTTP请求到服务器。
2) 请求被传送到框架入口文件index.php。
3) index.php文件将请求转交给路由器routing.php进行路由解析,确定请求所对应的控制器和方法。
4) 控制器调用相应的模型来处理数据逻辑,如从数据库查询数据。
5) 模型向控制器返回数据,控制器将数据传递给视图。
6) 视图使用数据动态生成HTML页面,并载入到控制器。
7) 控制器向用户返回HTML响应,请求结束。
MVC模式的主要优点是:
1) 降低控制器和视图的耦合度。控制器专注于请求处理,视图专注于页面展示。
2) 方便代码重用。模型可以被多个控制器和视图重用,视图也可以在多个控制器之间共用。
3) 简化开发和测试。开发人员可以专注于MVC内单一的模型、视图或控制器,独立开发和测试。
4) 增强可维护性。MVC清晰的角色 division 使得代码结构更清晰,方便后期维护和迭代。
总之,MVC模式使 CodeIgniter 具有结构清晰、易开发和可维护等优点。熟练掌握MVC模式的运作流程和各组件之间的关系与作用,是学习CodeIgniter框架的基础。