第一節視頻:php
MVC介紹:css
一、模型(Model)數據庫
提供增、刪、改、查數據庫資料這些功能;數組
二、視圖(View)app
負責提供展現給用戶頁面功能;函數
三、控制器(Controller)this
是模型、視圖以及其餘任何處理的中介;url
URL片斷:spa
example.com/index.php/test/index視頻
第一部分(test):控制器;
第二部分(index):方法動做;
第二節視頻:
要點:
一、配置默認控制器
二、如何建立與載入視圖文件
三、分配給視圖數據
四、處理視圖中的分配的數據
五、輔助函數與其中的URL輔助函數
六、擴展自定義自定義函數
一、配置默認控制器:
在application/config/routes.php裏面找到 $route['default_controller'] = 'welcome';修改welcome;
二、如何建立與載入視圖文件:
載入視圖:
在控制器中:
$this -> load -> view('file_name');
上面的file_name即是你的視圖文件的名字。注意: .php文件的擴展名(後綴名)沒有必要寫出,除非你使用了其它的擴展名。
也能夠按文件夾存儲:
$this -> load -> view('folder_name/file_name');
注意:在同一控制器的同一方法中可同時載入多個模板,載入的模板在同一頁面中堆疊顯示;
class Home extends CI_Controller{
public function index(){
$this -> load ->view('head');
$this -> load ->view('home');
$this -> load ->view('foot');
}
}
三、如何給視圖分配數據:
$data = array(
'title' => 'houdunwang',
'heading' => 'My Heading',
'message' => 'My Message'
);
$this ->load ->view('file_name',$data);
注意:在同一控制器的同一個方法中載入的多個模板,在向載入的多個模板傳入數據時,只需向第一個模板傳入數據,其他模板便可得到得到傳入的數據:
class Home extends CI_Controller{
public function index(){
$data['title'] = "我是標題";
$this -> load ->view('head',$data);
$this -> load ->view('home');//該模板也可得到$data傳入的數據;
$this -> load ->view('foot');//該模板也可得到$data傳入的數據;
}
}
如何在視圖中處理分配的數據:(遍歷數組)
<?php foreach($todo_list as $item): ?>
<li><?php echo $item; ?></li>
<?php endforeach; ?>
四、載入輔助函數:
輔助函數:
一、system/helpers或application/helpers文件夾;
二、application/helpers優先級高於system/helpers
載入:(name爲輔助函數名)
在控制器中手動載入:
$this ->load ->helper('name');
自動載入:
application/config/autoload.php裏找到;
$autoload['helper'] = array('name');
URL輔助函數:
前提:載入URL函數:
一、$this -> load ->helper('url');
二、application/config/autoload.php裏設置$autoload['helper'] = array('url');比較經常使用,建議放入自動加載;
一、site_url()
得到url參數段路徑;
site_url()加上兩個片斷能夠直接訪問控制器和控制器裏面的方法;
二、base_url()
application/config/config.php設置的路徑,或者根路徑;
base_url()能夠用來組合一些css、js、圖片等的路徑;
三、redirect()
跳轉;
redirect('參數1/參數2');參數1爲控制器名,參數2爲方法名;能夠從一個控制器的方法裏面跳到另外一個控制器的方法裏;
五、擴展自定義函數:
在system/core/Common.php下定義本身的函數,可全局訪問;