ITKeyword,专注技术干货聚合推荐

注册 | 登录

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

i10630226 分享于 2016-06-13

推荐:PHP单例模式在MVC框架设计中的应用 (

MVC的controller层中会对不同的model对象进行操作,而这些对象往往分别在操作不同的数据库,所以在每个model中需要使用特定的数据库,但是在每个model层中实例化

2019阿里云全部产品优惠券(新购或升级都可以使用,强烈推荐)
领取地址https://promotion.aliyun.com/ntms/yunparter/invite.html

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目录下

推荐:HeadFirst 设计模式学习笔记10——MVC分析

1.M-V-C ——Model--View--Controller,模式-视图-控制器,这是一种范型。模型对象正是应用系统存在的理由,你设计的对象,包含了数据、逻辑和其他在你的应用领

<?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总结:

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

这里写图片描述

推荐:解读php框架codeigniter是如何实现mvc模式以及单一入口

关于mvc 这里不详细讲解何为MVC模式,只是简单介绍,关于mvc的具体信息可以去网络上找寻,mvc模式在我理解来它将一个项目分解成三部分,分别是Model(模型),Vi

CodeIgniter的优势: 轻量级框架 出色的性能 广泛兼容标准主机上的各种PHP版本和配置 0配置 不需要使用命令行 不需坚守限制性编码规则 CodeIgniter最新版本的下载地址:http://www.codeigniter.

相关阅读排行


用户评论

游客

相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。