首頁 > php教程 > PHP开发 > 主體

Zend Framework動作控制器用法範例

高洛峰
發布: 2017-01-06 09:45:56
原創
1231 人瀏覽過

本文實例講述了Zend Framework動作控制器用法。分享給大家供大家參考,具體如下:

動作控制器簡介

為了使用Zend_Controller_Action類,需要在實際控制器類別中把它子類化。

代碼:

<?php
class FooController extends Zend_Controller_Action{
  public function barAction(){
    //do something
  }
  public function bazAction(){
    //do something
  }
}
登入後複製

   

說明:上述FooController類,定義了兩個動作,bar和baz。

物件初始化

初始化更合適的方法來客製化實例化是使用init()方法。這個方法是在__construct()裡的最後一個呼叫任務。

程式碼:

<?php
class FooController extends Zend_Controller_Action{
  public function init(){
    $this->db = Zend_Db::factory(&#39;Pdo_Mysql&#39;,array(
      &#39;host&#39;=>&#39;myhost&#39;,
      &#39;username&#39;=>&#39;user&#39;,
      &#39;password&#39;=>&#39;xxxx&#39;,
      &#39;dbname&#39;=>&#39;website&#39;
    ));
  }
}
登入後複製

   

說明:上述程式碼就在初始化物件的同時實現了對資料庫的連線。

存取器

動作控制器可以包含很多內容,例如請求物件、回應物件、呼叫參數、請求參數。這些內容都可以透過相應的存取器方法進行存取。

請求物件可以透過getRequest()方法來取得,執行該方法將傳回一個Zend_Controller_Request_Abstract實例。

程式碼:

$module = $this->getRequest()->getModuleName();//获取模块名称
$controller = $this->getRequest()->getControllerName();//获取控制器名称
$action = $this->getRequest()->getActionName();//获取动作名称
登入後複製

   

回應物件可以透過getResponse()方法來取得,執行此方法將會傳回一個Zend_Controller_Response_Abstract實例。

請求物件的請求參數包括任意GET或GET或_POST參數。為了讀取這些參數,可以使用_getParam($key)或_getAllParams()方法。

視圖整合方法

視圖初始化

執行initView()方法將初始化視圖物件。

解析視圖

render()方法用於解析視圖

程式碼:

<?php
class MyController extends Zend_Controller_Action{
  public function fooAction(){
    //Renders my/foo.phtml
    $this->render();
    //Renders my/bar.phtml
    $this->render(&#39;bar&#39;);
    //Renders baz.phtml
    $this->render(&#39;baz&#39;,null,true);//第三个参数,指定是否使用控制器目录作为子目录,true表示不使用
    //Renders my/login.phtml to the &#39;form&#39; segment of the response object
    $this->render(&#39;login&#39;,&#39;form&#39;);
  }
}
登入後複製

   

其他方法

_forfor((),該方法重新導向至另一個動作
一個地方

希望本文所述對大家基於Zend Framework框架的PHP程式設計有所幫助。

更多Zend Framework動作控制器用法範例相關文章請關注PHP中文網!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板