多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php框架 > codeigniter > [PHP]CodeIgniter學習手冊(二):視圖view的介紹與使用

[PHP]CodeIgniter學習手冊(二):視圖view的介紹與使用

來源:程序員人生   發布時間:2014-06-09 18:43:57 閱讀次數:3950次

簡而言之,一個視圖就是一個html網頁,或是網頁的部分,如頭部,底部,側邊欄等等。

事實上,如果你需要這種層次類型,視圖可以很靈活的嵌入到其他視圖中。

視圖從不直接調用,必須被一個控制器來調用。記住,在一個 MVC 框架中,控制器扮演著交通警察的角色,那么,他有責任去取回某一特定的視圖。


創建視圖

使用你的文本編輯器,創建一個名為 blogview.php 的文件,寫入以下代碼:
<html><head><title>My Blog</title></head><body><h1>Welcome to my Blog!</h1></body></html>

然后保存文件到 application/views/ 文件夾。


載入視圖
你必須使用下面的函數來載入一個視圖文件:
$this->load->view('name');
上面的 name 便是你的視圖文件的名字。注意:.php 文件的擴展名(后綴名)沒有必要專門寫出,除非你使用了其他的擴展名。
現在, 打開你先前寫的名為 blog.php 控制器文件,并且使用視圖載入函數替換echo段代碼:


<?phpclass Blog extends CI_Controller{	function index(){		$this->load->view('blogview'); 	}}?>

如果你使用先前你用的 URL 瀏覽你的網站,你將會看到你的新視圖.

URL 與下面的類似:example.com/index.php/blog/


載入多個視圖
CodeIgniter 能智能的處理多個從控制器發起的視圖載入函數調用 $this->load->view。如果有多個調用,那么他們將會被合并到一起。例如,你可能希望有一個標題視圖、一個菜單視圖、一個內容視圖、和一個頁腳視圖。他們看起來應該是這樣:
<?phpclass Page extends CI_Controller {   function index()   {      $data['page_title'] = 'Your title';      $this->load->view('header');      $this->load->view('menu');      $this->load->view('content', $data);      $this->load->view('footer');   }}?>
在上面的例子中,我們使用了“動態添加數據”,你將在下面看到。


用子文件夾存儲視圖

如果你想讓文件更有組織性,你也可以用子文件夾來存儲你的視圖文件.. 當你在載入視圖時,必須加上子文件夾的名字. 示例如下:

$this->load->view('folder_name/file_name');

給視圖添加動態數據

數據通過控制器以一個數組或是對象的形式傳入視圖 , 這個數組或對象作為視圖載入函數的第二個參數 .

下面便是使用數組的示例:

function testView(){	$data = array(		'title' => 'My Title',		'heading' => 'My Heading',		'message' => 'My Message'	);	$this->load->view('blogview', $data);}

這里是使用對象的示例:
$data = new Someclass();$this->load->view('blogview', $data);

當我們一次性載入多個視圖的時候,你只需在第一個視圖傳入數據就可以了(header視圖顯示title,content視圖顯示message),比如:
<?phpclass Page extends CI_Controller {   function index()   {      $data['title'] = 'Your title';      $data['message'] = 'Your message';      $this->load->view('header',$data);      $this->load->view('content');      $this->load->view('footer');   }}?>

注意:如果你使用一個對象,那么類變量將轉換為數組元素。

打開控制器并添加以下代碼:

<?php class Blog extends CI_Controller {	function index() {		$data['title'] = "My Real Title";		$data['heading'] = "My Real Heading";		$this->load->view('blogview', $data); 	} } ?>

現在,打開你的視圖文件,將其中的文本替換成與數組對應的變量:
<html> <head> <title><?php echo $title;?></title> </head> <body> <h1><?php echo $heading;?></h1> </body> </html>
然后使用你先前用過的URL載入頁面,你將看到變量已經被替換。


創建循環

你傳入視圖文件的數據,不僅僅局限于簡單的變量。你可以傳遞多維數組。例如:你從數據庫里面取出數據就是典型的多維數據。
這里是個簡單的示例。添加以下代碼到你的控制器:

<?php 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);     }}?>


現在打開你的視圖文件,創建一個循環:

<html> <head><title><?php echo $title;?></title> </head> <body> <h1><?php echo $heading;?></h1> <h3>My Todo List</h3> <ul> <?php foreach ($todo_list as $item):?> <li><?php echo $item;?></li> <?php endforeach;?> </ul> </body> </html>

注意: 上面的例子中我們使用PHP替代語法。


獲取視圖內容

view函數第三個可選參數可以改變函數的行為,讓數據作為字符串返回而不是發送到瀏覽器。如果想用其它方式對數據進一步處理,這樣做很有用。如果將view第三個參數設置為true(布爾)則函數返回數據。

view函數缺省行為是 false, 將數據發送到瀏覽器。如果想返回數據,記得將它賦到一個變量中:

$string = $this->load->view('myfile', '', true);

例子:有些情況下,你并不想直接輸出視圖,而是僅僅想得到視圖的內容以備后用。那么可以參考如下代碼。
<?php 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"; 		$buffer = $this->load->view('blogview', $data, true); 	}} ?>


view方法中的第三個參數表示不輸出視圖,而只是將結果返回給一個變量。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲www在线观看 | 久久婷婷人人澡人人爱91 | 欧美日韩性猛交xxxxx免费看 | 欧美性xxxxx极品 | 亚洲欧美中文字幕专区 | h视频在线免费观看 | 日韩欧美中文字幕一区 | 狠狠色噜噜狠狠狠狠五月婷 | 欧美一级欧美一级高清 | 欧美free gays xxxx | 免费精品美女久久久久久久久久 | 欧美性性性性性色大片免费的 | 性色成人网| 免费在线一区二区三区 | 亚洲第一综合网站 | 夜夜骑天天干 | 欧美日本二区 | 亚洲乱码视频在线观看 | 成人国产在线视频在线观看 | 欧美国产成人免费观看永久视频 | 欧美办公室大尺度做爰视频 | 国产欧美综合在线 | 成人男女网免费 | 亚洲日本中文字幕永久 | 国产福利一区在线 | 国产v国产v片大片线观看网站 | 久久久久国产精品免费免费 | 精品国产91久久久久 | 日本无卡码高清免费观看 | 欧美一区二区三区视频在线 | 免费观看欧美一级毛片 | 波多野结衣午夜 | 国产一区二区免费不卡在线播放 | 琪琪理论影院2018中文版 | 精品久久久久久久 | 国产精品福利一区 | 天天在线天天综合网色 | 亚洲精品一区二区三区五区 | 国产一区欧美二区 | 图片区亚洲色图 | 午夜影院啪啪 |