CodeIgniter学习笔记 Item1--CI简介与MVC设计模式

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

CodeIgniter学习笔记 Item1--CI简介与MVC设计模式_第1张图片

<?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'=>'[email protected]'),
                    array('id'=>2, 'name'=>'mary', 'email'=>'[email protected]'),
                    array('id'=>3, 'name'=>'lili', 'email'=>'[email protected]'),
                );
            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

显示效果如下:
CodeIgniter学习笔记 Item1--CI简介与MVC设计模式_第2张图片

MVC总结:

入口文件是唯一一个让浏览器请求的脚本
控制器负责协调模型和视图
模型只负责处理数据
视图只负责显示数据

CodeIgniter学习笔记 Item1--CI简介与MVC设计模式_第3张图片

你可能感兴趣的:(设计模式,PHP,mvc,CodeIgniter,php框架)