CodeIgniter

基础

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.推荐用:

(=为短标签)
(数组显示)

超级对象

当前的控制器对象,里面有许多属性。
比如说:$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)