--------------------------------------------------------------------------------------------------------
載入視圖
$this->load->view('home/name'); //可以用子文件夾存儲視圖,默認視圖文件以'.php'結尾
載入多個視圖
$data['title'] = 'chenwei'; //給視圖添加動態數據
$data['message'] = 'Your message';
$this->load->view('header', $data); //當一次性載入多個視圖時,你只需在第一個視圖傳入數據即可(header視圖顯示title, content視圖顯示message)
$this->load->view('menu');
$this->load->view('content');
$this->load->view('footer');
使用對象的例子:
$data = new Someclass();
$this->load->view('blogview', $data);
視圖文件中的變量
<title><?php echo $title; ?></title>
<div><?php echo $message; ?></div>
創建循環
class Blog extends CI_Controller{
function index()
{
$data['todo_list'] = array('clean house', 'call mom', 'run errands');
$data['title'] = 'my real title';
$data['heading'] = 'my real heading';
$this->load->view('blogview', $data);
}
}
<title><?php echo $title; ?></title>
<h1><?php echo $heading; ?></h1>
<ul>
<?php foreach($todo_list as $item):?>
<li><?php echo $item; ?></li>
<?php endforeach; ?>
</ul>
獲取視圖內容(賦值給一變量)
$buffer = $this->load->view('blogview', $data, true);
//view函數第三個可選參數可以改變函數的行為。如果將view第三個參數設置為true(布爾),則函數返回數據。view函數缺省行為是false,將數據發送到瀏覽器。如果想返回數據,記得將它賦到一個變量中。
@黑眼詩人:參考用戶手冊PHP替代語法
視圖文件的PHP替代語法 =>
config/config.php中打開$config['rewrite_short_tags'],那么如果你的服務器不支持短標記,CodeIgniter將重寫所有短標記。
注:如果你使用這個特性,如果在你的視圖文件中發生 PHP 錯誤,則錯誤信息和行號將無法準確顯示。相反,所有的錯誤將顯示為eval ()的錯誤。
正常的echo形式:<?php echo $variable; ?>
使用替代語法:<?=$variable?>
替代控制結構
<ul>
<?php foreach($todo_list as $item): ?>
<li><?=$item?></li>
<?php endforeach; ?>
</ul>
注:這里沒有大括號。相反,結束大括號被替換成了 endforeach 。上面列出的每一個控制結構也有相似的關閉語法:endif, endfor, endforeach 和 endwhile,并且在每個結構以后注意不要使用分號(除了最后一個),用冒號!
<?php if($username == 'chenwei'): ?>
<h3>Hi chenwei.</h3>
<?php elseif($username == 'joe'): ?>
<h3>Hi Joe</h3>
<?php else: ?>
<h3>Hi unknow user</h3>
<?php endif; ?>
----------------------------------------<www.chenwei.ws>----------------------------------------
模型類文件均存放在 application/models 目錄,當然也可以建立子目錄,便于大型項目開發管理。
基本的模型類
1.類名首字母必須大寫,其它字母小寫,如 '表名_model.php',確保繼承基本模型類CI_Model,文件名是模型類名的小寫形式。
2.模型可以在控制器中被引用。
如:$this->load->model('User_model'); 或 $this->load->model('home/User_model');
模型一旦被載入 就可以使用,默認情況下模型名稱直接被引用作為對象名。
如:$this->User_model->function();
當然可以重新命名對象名,通過在加載模型函數中指定第二個參數來設定。
如:$this->load->model('User_model', 'fubar');
$this->fubar->function();
自動載入模型
如果需要特定模型在整個項目中起作用,可以讓CI在初始化時自動裝載,通過在application/config/autoload.php文件的自動裝載數組中添加該模型。
連接到數據庫
模型被載入時不會自動連接數據庫,以下方法可以使你連接數據庫,
1.標準方法連接數據庫
2.把第三個參數設置為TRUE來使模型裝載函數自動連接數據庫
$this->load->model('User_model', '', TRUE);
3.手動設定第三個參數來載入你的自定義數據庫配置
$config['hostname'] = 'localhost';
$config['username'] = 'root';
$config['passWord'] = 'root';
$config['database'] = 'test';
$config['dbdriver'] = 'MySQL';
新聞熱點
疑難解答