美文网首页
CodeIgniter

CodeIgniter

作者: 淡茶叶香 | 来源:发表于2017-03-29 17:07 被阅读0次

    基础

    index.php 指的是入口文件
    控制器作用协调模型和视图
    模型model:协调数据和保存数据
    视图view:只负责显示
    动作action:是控制器中的方法,被浏览器请求
    

    CI中的mvc

    访问规则:入口文件.php/控制器/动作(方法)
    

    在application目录中:

    Model模型
    View视图
    Controllers控制器
    

    控制器:

    1.在CI中,不需要加后缀,直接类,类名.php
    2.文件名全都小写,eg:user.php
    3.所有控制器,直接或间接继承自CI.controller类
    4.控制器中,对方法(动作)的要求
             Public
             不能以-开头
    

    视图:

    1.在控制器中加载视图       //直接写视图名字,不写扩展名字,如果有子目录,则写上目录名字     
    $this->load->view(视图);可以多次调用 $this->load->view(视图);
    2.视图中直接使用原生php代码
    题外话
    {
      在CI中分配变量时,用$this->load->vars(‘key’,‘value’);
      举例子:$this->load->vars(‘title’,‘这是标题’);
      如果是数组:$demo['title'] = "这是标题";
               $list=array(...)(一个二维数组) 
               $demo['list'] = $list;
               $this->load->vars($demo);
    }
    3.推荐用:
    <?php foreach($list as $item):?>
    <?=&item[‘name’];?>(=为短标签)
    <?php endforeach;?>(数组显示)
    

    超级对象

    当前的控制器对象,里面有许多属性。
    比如说:$this->load(装载器类的实例)
                   $this->uri
                   $this->input
    以$this->load为例子
    {
    这个式子等价于:
    CI为自动加载类(system中的core里面的类)
    这个例子引用的是loader
    $obj = new CI_Loader;
    $this->load = $obj;
    $this->obj->view();
    //$this->obj->vars();
    }
    

    数据库访问

    1.修改配置文件:application/config/database.php
      填好相关数据的信息(hostname,username,password,。。。)
    
    2.将数据库访问对象,装载到超级对象的属性中 ($this->db)
    $this->load->database();//必须要有,引用封装好的数据库类
    追加:
    {
    if  你要用到多个数据库的情况下
    原先给的是$db['default']['hostname'] = '';(等一系列相同的,这里省略)
    你可以复制所有更改要换的信息,将default改成其他,再控制器中类的方法中$this->load->database(其他),指定好你要配置的哪一组数据库文件,即可。
    }
    $sql = '......';
    $res = $this->db->query($sql);//返回是一个对象
    $users = $res->result();//返回数组,数组中是一个一个对象
    var_dump($users);
    
    还有一种方法是
    $sql = '......';
    $res = $this->db->query($sql);//返回是一个对象
    $users = $res->result();//返回数组,数组中是一个一个对象
    // $res->result_array();回返二维数组,里面是关联数组
    $data['list'] = $users;
    $this->load->view('user/showusers',$data);//user/showusers指的是view下user下showusers.php
    

    相关文章

      网友评论

          本文标题:CodeIgniter

          本文链接:https://www.haomeiwen.com/subject/raqyottx.html