ホームページ  >  記事  >  php教程  >  Zend Framework アクション コントローラーの使用例

Zend Framework アクション コントローラーの使用例

高洛峰
高洛峰オリジナル
2017-01-06 09:45:561190ブラウズ

この記事の例では、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 の 2 つのアクションを定義します。

オブジェクトの初期化

初期化 インスタンス化をカスタマイズするより適切な方法は、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;
    ));
  }
}

説明: 上記のコードは、オブジェクトの初期化中にデータベースへの接続を実現します。

Accessor

アクションコントローラーには、リクエストオブジェクト、レスポンスオブジェクト、呼び出しパラメータ、リクエストパラメータなどの多くのコンテンツを含めることができます。これらのコンテンツには、対応するアクセサー メソッドを通じてアクセスできます。

リクエスト オブジェクトは 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;);
  }
}

他のメソッド

_forword()、このメソッドは別のアクションを実行します
_redirect()、このメソッドはリダイレクトしますanother A place

この記事が、Zend Framework フレームワークに基づいた PHP プログラミングの皆様のお役に立てれば幸いです。

Zend Framework アクション コントローラーの使用例に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。