簡單來講,一個視圖其實就是一個 Web 頁面,或者頁面的一部分,像頁頭、頁腳、側邊欄等。 實際上,視圖能夠很靈活的嵌在另外一個視圖裏,而後這個視圖再嵌在另外一個視圖裏,等等, 若是你想使用這種層次結構的話,能夠這樣作。php
視圖不是直接被調用的,它必須經過 控制器 來加載。在 MVC 框架裏, 控制器扮演着相似於交警的角色,它專門負責讀取特定的視圖。 – 來自ci3.x官方文檔html
public function index() {
$this->load->view('welcome');
}
public function index() {
$this->load->view('html/welcome); }
咱們目前有welcome.php這個視圖, 如今咱們給它的代碼是數組
<html>
<head>
<title><?php echo $title; ?></title>
</head>
<body>
<h1><?php echo $string; ?></h1>
</body>
在渲染視圖時怎麼傳遞變量app
public function index() {
$data['title'] = '你好, 歡迎';
$data['string'] = '我是劍齒虎, 很高興認識你!';
//view的參數2能夠向視圖傳遞數組/對象
$this->load->view('welcome', $data);
}
public function index() {
$data['title'] = '你好, 歡迎';
$data['string'] = '我是劍齒虎, 很高興認識你!';
//view的參數3爲一個bool類型, 默認爲false. 提供true將返回渲染後的視圖數據, 你須要用一個變量來接收它!
$template = $this->load->view('welcome', $data, true);
var_dump($template);
}
在網站項目中, 模版的重用比較多(廢話). 好比一個網頁通常是由」頭 主體 側欄 菜單 尾部」構成的. 所以爲避免重複造輪子. 模版繼承/視圖引入拼接的存在是很是有意義的. 框架
仔細看了看, 好像ci沒有模版繼承這樣的東西. 惟一一個解決方案就是」視圖拼接」. 引入多個視圖合併ide
$this->load->view('header', $data);
$this->load->view('menu');
$this->load->view('content', $content);
$this->load->view('sidebar');
$this->load->view('footer');
//.....
需求: 你的 welcome.php 視圖, 須要引入一個 side.php 的視圖網站
<html>
<head>
<title>視圖加載視圖</title>
</head>
<body>
<?php $this->load->view('side'); ?>
</body>
</html>
目前在學ci框架, 官方雖然有中文文檔. 但有些地方解釋比較模糊. 弄的我這樣的新手容易搞不明白. this
代碼手寫, 可能會有點小問題. 大致就是這個意思spa