• CodeIgniter学习笔记(一)——CI简介与MVC设计模式


    CodeIgniter的优势:

    1. 轻量级框架
    2. 出色的性能
    3. 广泛兼容标准主机上的各种PHP版本和配置
    4. 0配置
    5. 不需要使用命令行
    6. 不需坚守限制性编码规则

    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

    显示效果如下:

    8(MD`}E]HL@PP7H90TX@9$G

    MVC总结:

    1. 入口文件是唯一一个让浏览器请求的脚本
    2. 控制器负责协调模型和视图
    3. 模型只负责处理数据
    4. 视图只负责显示数据
  • 相关阅读:
    流方式下载文件
    数据导出excel
    文件属性的生成操作build action
    数据库添加注释
    前后端交互
    ASP.NET Core 3.0 原生DI拓展实现IocManager
    ASP.NET Core使用Elasticsearch记录NLog日志
    IdentityServer4中文文档
    Elasticsearch、Kibana Windows下环境搭建
    通过jQuery和C#分别实现对.NET Core Web Api的访问以及文件上传
  • 原文地址:https://www.cnblogs.com/iamsupercola/p/4628779.html
Copyright © 2020-2023  润新知