日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > php框架 > codeigniter > [PHP]CodeIgniter學(xué)習(xí)手冊(cè)(二):視圖view的介紹與使用

[PHP]CodeIgniter學(xué)習(xí)手冊(cè)(二):視圖view的介紹與使用

來(lái)源:程序員人生   發(fā)布時(shí)間:2014-06-09 18:43:57 閱讀次數(shù):3956次

簡(jiǎn)而言之,一個(gè)視圖就是一個(gè)html網(wǎng)頁(yè),或是網(wǎng)頁(yè)的部分,如頭部,底部,側(cè)邊欄等等。

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

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


創(chuàng)建視圖

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

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


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


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

如果你使用先前你用的 URL 瀏覽你的網(wǎng)站,你將會(huì)看到你的新視圖.

URL 與下面的類(lèi)似:example.com/index.php/blog/


載入多個(gè)視圖
CodeIgniter 能智能的處理多個(gè)從控制器發(fā)起的視圖載入函數(shù)調(diào)用 $this->load->view。如果有多個(gè)調(diào)用,那么他們將會(huì)被合并到一起。例如,你可能希望有一個(gè)標(biāo)題視圖、一個(gè)菜單視圖、一個(gè)內(nèi)容視圖、和一個(gè)頁(yè)腳視圖。他們看起來(lái)應(yīng)該是這樣:
<?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');   }}?>
在上面的例子中,我們使用了“動(dòng)態(tài)添加數(shù)據(jù)”,你將在下面看到。


用子文件夾存儲(chǔ)視圖

如果你想讓文件更有組織性,你也可以用子文件夾來(lái)存儲(chǔ)你的視圖文件.. 當(dāng)你在載入視圖時(shí),必須加上子文件夾的名字. 示例如下:

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

給視圖添加動(dòng)態(tài)數(shù)據(jù)

數(shù)據(jù)通過(guò)控制器以一個(gè)數(shù)組或是對(duì)象的形式傳入視圖 , 這個(gè)數(shù)組或?qū)ο笞鳛橐晥D載入函數(shù)的第二個(gè)參數(shù) .

下面便是使用數(shù)組的示例:

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

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

當(dāng)我們一次性載入多個(gè)視圖的時(shí)候,你只需在第一個(gè)視圖傳入數(shù)據(jù)就可以了(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');   }}?>

注意:如果你使用一個(gè)對(duì)象,那么類(lèi)變量將轉(zhuǎn)換為數(shù)組元素。

打開(kāi)控制器并添加以下代碼:

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

現(xiàn)在,打開(kāi)你的視圖文件,將其中的文本替換成與數(shù)組對(duì)應(yīng)的變量:
<html> <head> <title><?php echo $title;?></title> </head> <body> <h1><?php echo $heading;?></h1> </body> </html>
然后使用你先前用過(guò)的URL載入頁(yè)面,你將看到變量已經(jīng)被替換。


創(chuàng)建循環(huán)

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

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


現(xiàn)在打開(kāi)你的視圖文件,創(chuàng)建一個(gè)循環(huán):

<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替代語(yǔ)法。


獲取視圖內(nèi)容

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

view函數(shù)缺省行為是 false, 將數(shù)據(jù)發(fā)送到瀏覽器。如果想返回?cái)?shù)據(jù),記得將它賦到一個(gè)變量中:

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

例子:有些情況下,你并不想直接輸出視圖,而是僅僅想得到視圖的內(nèi)容以備后用。那么可以參考如下代碼。
<?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方法中的第三個(gè)參數(shù)表示不輸出視圖,而只是將結(jié)果返回給一個(gè)變量。
生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 久久国产精品亚洲 | 国产精品一区在线观看你懂的 | 91亚洲国产精品 | 欧美日韩免费视频 | 日韩视频在线免费观看 | 中文字幕av免费 | 日韩a| 成人午夜视频在线观看 | jlzzzjlzzz国产免费观看 | 亚洲成人99 | 精品一区二区三区在线观看国产 | 日韩国产在线播放 | 欧美伊人精品成人久久综合97 | 午夜视频在线免费观看 | 免费观看黄色网 | 天天操夜夜草 | 国产91在线播放 | 日韩三级 | 日韩欧美国产免费 | 欧美一区久久 | 久久久久一区 | 牛牛视频在线 | 6080yy精品一区二区三区 | 亚洲精品1| 可以免费看的毛片 | 欧美日韩在线一区二区 | 日本在线视频一区二区三区 | 成人深夜视频 | 国产69久久精品成人看 | 久久加久久 | 日本一二三区在线 | 三级精品 | 亚洲精选在线 | 懂色av 粉嫩av 蜜乳av | 欧美日韩一区二区视频在线观看 | 国产精品久久久久一区二区三区 | 国产精品美女久久 | 日韩美女在线 | 黄网站免费视频 | 麻豆乱码国产一区二区三区 | 国产精品 - 去看片 亚洲免费黄色 |