本文實(shí)例講述了Zend Framework入門教程之Zend_View組件用法。分享給大家供大家參考,具體如下:
Zend_View組件可以實(shí)現(xiàn)MVC模式中視圖部分的代碼與Model和Controller部分的分離。
使用步驟:首先在Controller中建立一個(gè)Zend_View實(shí)例,并將需要的變量傳遞給它;之后,Controller通知Zend_View顯示一個(gè)特定的視圖,
生成View輸出的內(nèi)容。
實(shí)例之控制器代碼腳本:
<?php //使用模型來獲取書籍作者和標(biāo)題相關(guān)數(shù)據(jù) $data = array( array( 'author'=>'曹雪芹', 'title'=>'紅樓夢(mèng)' ), array( 'author'=>'羅貫中', 'title'=>'三國演義' ), array( 'author'=>'吳承恩', 'title'=>'西游記' ), array( 'author'=>'施耐庵', 'title'=>'水滸傳' ) ); //傳遞數(shù)據(jù)給Zend_View類的實(shí)例 require_once 'Zend/Loader.php'; Zend_Loader::loadClass('Zend_View'); $view = new Zend_View(); $view->books = $data; $view->setScriptPath('./'); echo $view->render('4-2.php');
視圖腳本代碼(4-2.php中的內(nèi)容):
<?php if($this->books):?> <table> <tr> <th>作者</th> <th>標(biāo)題</th> </tr> <?php foreach($this->books as $key=>$val):?> <tr> <td><?php echo $this->escape($val['author'])?></td> <td><?php echo $this->escape($val['title'])?></td> </tr> <?php endforeach;?> </table> <?php else:?> <p>沒有需要的書目</p> <?php endif;?>
執(zhí)行結(jié)果:
作者 標(biāo)題 曹雪芹 紅樓夢(mèng) 羅貫中 三國演義 吳承恩 西游記 施耐庵 水滸傳
小結(jié)(實(shí)踐感受):
這個(gè)案例,并沒有什么很大的結(jié)構(gòu),Zend_View相當(dāng)于一個(gè)插件,可以靈活的調(diào)用。Zend框架中的內(nèi)容并不需要一定在很大的架構(gòu)中使用。
MVC也并不那么呆板,它只是一種思想。這里的M層就是一組數(shù)組。真實(shí)開發(fā)過程中,就應(yīng)該從數(shù)據(jù)庫讀取信息。視圖層目錄經(jīng)過$view->setScriptPath('./');設(shè)置成了當(dāng)前目錄下。
這樣就可以直接調(diào)用到當(dāng)前目錄下的文件4-2.php了。視圖層接收到數(shù)據(jù)之后,進(jìn)行一定的處理。
Zend_View的主要功能就是把數(shù)據(jù),從控制器層傳入到視圖層。
更多關(guān)于zend相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Zend FrameWork框架入門教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《Yii框架入門及常用技巧總結(jié)》、《ThinkPHP入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家基于Zend Framework框架的PHP程序設(shè)計(jì)有所幫助。