基礎
index.php 指的是入口文件
控制器作用協(xié)調模型和視圖
模型model:協(xié)調數據和保存數據
視圖view:只負責顯示
動作action:是控制器中的方法,被瀏覽器請求
CI中的mvc
訪問規(guī)則:入口文件.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();回返二維數組,里面是關聯(lián)數組
$data['list'] = $users;
$this->load->view('user/showusers',$data);//user/showusers指的是view下user下showusers.php