Zend Framework動(dòng)作控制器用法示例
本文實(shí)例講述了Zend Framework動(dòng)作控制器用法。分享給大家供大家參考,具體如下:
動(dòng)作控制器簡(jiǎn)介
為了使用Zend_Controller_Action類(lèi),需要在實(shí)際控制器類(lèi)中把它子類(lèi)化。
代碼:
<?php class FooController extends Zend_Controller_Action{ public function barAction(){ //do something } public function bazAction(){ //do something } }
說(shuō)明:上述FooController類(lèi),定義了兩個(gè)動(dòng)作,bar和baz。
對(duì)象初始化
初始化更合適的方法來(lái)定制實(shí)例化是使用init()方法。該方法是在__construct()里的最后一個(gè)調(diào)用任務(wù)。
代碼:
<?php class FooController extends Zend_Controller_Action{ public function init(){ $this->db = Zend_Db::factory('Pdo_Mysql',array( 'host'=>'myhost', 'username'=>'user', 'password'=>'xxxx', 'dbname'=>'website' )); } }
說(shuō)明:上述代碼就在初始化對(duì)象的同時(shí)實(shí)現(xiàn)了對(duì)數(shù)據(jù)庫(kù)的連接。
訪(fǎng)問(wèn)器
動(dòng)作控制器可以包括很多內(nèi)容,如請(qǐng)求對(duì)象、響應(yīng)對(duì)象、調(diào)用參數(shù)、請(qǐng)求參數(shù)。這些內(nèi)容都可以通過(guò)相應(yīng)的訪(fǎng)問(wèn)器方法進(jìn)行訪(fǎng)問(wèn)。
請(qǐng)求對(duì)象可以通過(guò)getRequest()方法來(lái)獲取,執(zhí)行該方法將返回一個(gè)Zend_Controller_Request_Abstract實(shí)例。
代碼:
$module = $this->getRequest()->getModuleName();//獲取模塊名稱(chēng) $controller = $this->getRequest()->getControllerName();//獲取控制器名稱(chēng) $action = $this->getRequest()->getActionName();//獲取動(dòng)作名稱(chēng)
響應(yīng)對(duì)象可以通過(guò)getResponse()方法來(lái)獲取,執(zhí)行該方法將返回一個(gè)Zend_Controller_Response_Abstract實(shí)例。
請(qǐng)求對(duì)象的請(qǐng)求參數(shù)包括任意GET或GET或_POST參數(shù)。為了讀取這些參數(shù),可以使用_getParam($key)或_getAllParams()方法。
視圖集成方法
視圖初始化
執(zhí)行initView()方法將初始化視圖對(duì)象。
解析視圖
render()方法用于解析視圖
代碼:
<?php class MyController extends Zend_Controller_Action{ public function fooAction(){ //Renders my/foo.phtml $this->render(); //Renders my/bar.phtml $this->render('bar'); //Renders baz.phtml $this->render('baz',null,true);//第三個(gè)參數(shù),指定是否使用控制器目錄作為子目錄,true表示不使用 //Renders my/login.phtml to the 'form' segment of the response object $this->render('login','form'); } }
其他方法
_forword(),該方法執(zhí)行另外一個(gè)動(dòng)作
_redirect(),該方法重定向到另外一個(gè)地方
更多關(guān)于zend相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Zend FrameWork框架入門(mén)教程》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《Yii框架入門(mén)及常用技巧總結(jié)》、《ThinkPHP入門(mén)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Zend Framework框架的PHP程序設(shè)計(jì)有所幫助。
- 解決了Ajax、MySQL 和 Zend Framework 的亂碼問(wèn)題
- ZendFramework2連接數(shù)據(jù)庫(kù)操作實(shí)例
- Zend Framework數(shù)據(jù)庫(kù)操作技巧總結(jié)
- Zend Framework入門(mén)應(yīng)用實(shí)例詳解
- Zend Framework前端控制器用法示例
- Zend Framework路由器用法實(shí)例詳解
- Zend Framework分發(fā)器用法示例
- Zend Framework處理Json數(shù)據(jù)方法詳解
- Zend Framework使用Zend_Loader組件動(dòng)態(tài)加載文件和類(lèi)用法詳解
- Zend Framework實(shí)現(xiàn)自定義過(guò)濾器的方法
- WINDOWS + WAMP + Zend Framework 配置步驟分享
- Zend Framework框架中實(shí)現(xiàn)Ajax的方法示例
相關(guān)文章
CodeIgniter常用知識(shí)點(diǎn)小結(jié)
這篇文章主要介紹了CodeIgniter常用知識(shí)點(diǎn),包括跳轉(zhuǎn)、常量定義、語(yǔ)言設(shè)置及支持get方法傳參等技巧,需要的朋友可以參考下2016-05-05淺析echo(),print(),print_r(),return之間的區(qū)別
這篇文章主要是對(duì)echo(),print(),print_r(),return之間的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-11-11PHPWind9.0手動(dòng)屏蔽驗(yàn)證碼解決后臺(tái)關(guān)閉驗(yàn)證碼但是依然顯示的問(wèn)題
這篇文章主要介紹了PHPWind9.0手動(dòng)屏蔽驗(yàn)證碼解決后臺(tái)關(guān)閉驗(yàn)證碼但是依然顯示的問(wèn)題的相關(guān)資料,需要的朋友可以參考下2016-08-08PHP連接MySQL數(shù)據(jù)庫(kù)三種實(shí)現(xiàn)方法
這篇文章主要介紹了PHP連接MySQL數(shù)據(jù)庫(kù)三種實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12PHP模板引擎Smarty之配置文件在模板變量中的使用方法示例
這篇文章主要介紹了PHP模板引擎Smarty之配置文件在模板變量中的使用方法,結(jié)合實(shí)例形式分析了配置文件變量的具體使用步驟與相關(guān)技巧,需要的朋友可以參考下2016-04-04laravel 使用事件系統(tǒng)統(tǒng)計(jì)瀏覽量的實(shí)現(xiàn)
今天小編就為大家分享一篇laravel 使用事件系統(tǒng)統(tǒng)計(jì)瀏覽量的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10php使用curl訪(fǎng)問(wèn)https示例分享
curl是利用URL語(yǔ)法在命令行方式下工作的開(kāi)源文件傳輸工具,下面介紹一下php使用curl訪(fǎng)問(wèn)https的示例,大家參考使用吧2014-01-01laravel中Redis隊(duì)列監(jiān)聽(tīng)中斷的分析
這篇文章主要給大家介紹了關(guān)于laravel中Redis隊(duì)列監(jiān)聽(tīng)中斷的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09