CodeIgniter的优势:
- 轻量级框架
- 出色的性能
- 广泛兼容标准主机上的各种PHP版本和配置
- 0配置
- 不需要使用命令行
- 不需坚守限制性编码规则
CodeIgniter最新版本的下载地址:http://www.codeigniter.org.cn/
下载压缩包后解压,包含如下内容:
- application目录:编写程序的目录,其中包含了实现mvc模式的models、views和controllers目录
- system目录:CodeIgniter框架代码,不能修改,否则以后升级时无法替换
- user_guide目录:用户手册,英文版的
- index.php文件:入口文件
- license.txt文件:版权许可文件
复习一下MVC模式的实现,创建一个入口文件index.php
<?php header("Content-Type:text/html;charset=utf-8"); // 获得控制器名称 $c= $_GET['c']; // 包含控制器所在文件 include './controllers/' . $c .'Controller.php'; // 实例化控制器 $className = $c . 'Controller'; $controller = new $className(); // 获得方法名 $a = $_GET['a']; // 调用方法 $controller->$a(); ?>
再创建数据模型文件UserModel.php文件,放在models目录下
<?php class UserModel { public function getAllUsers() { $list = array( array('id'=>1, 'name'=>'jack', 'email'=>'jack@gmail.com'), array('id'=>2, 'name'=>'mary', 'email'=>'mary@gmail.com'), array('id'=>3, 'name'=>'lili', 'email'=>'lili@gmail.com'), ); return $list; } } ?>
再创建控制器文件UserController.php文件,放在controllers目录下
<?php class UserController { public function index() { // 调用模型方法,获取数据 include './models/UserModel.php'; $model = new UserModel(); $list = $model->getAllUsers(); // 包含视图文件 include './views/User/index.php'; } } ?>
最后创建视图文件index.php文件,放在views目录下,这里仅简单的显示数组
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> 这是User控制器的index方法的视图 <?php echo "<br />"; var_dump($list); ?> </body> </html>
通过url传入控制器名称和方法名:http://localhost:8080/testCodeIgniter/mvc/index.php?c=user&a=index
显示效果如下:
MVC总结:
- 入口文件是唯一一个让浏览器请求的脚本
- 控制器负责协调模型和视图
- 模型只负责处理数据
- 视图只负责显示数据