zend frameworkリダイレクトメソッド小結

1988 ワード

zend frameworkリダイレクトの方法をまとめた.皆さんの参考にしてください.具体的には以下の通りです.
一.render
レンダーを指定しない
結果:{現在Module}/{現在コントローラ}/{現在Action}.phtml

$this->render('bar');


結果:{現在Module}/{現在Controller}/bar.phtml
二.forward

$this->_forward('bar');


結果:{現在Module}/{現在コントローラ}/bar

$this->_forward('bar', 'foo');


結果:{現在のModule}/foo/bar

$this->_forward('bar', 'foo', 'hoge');


結果:hoge/foo/bar

$params = array(
 'a' => '1',
 'b' => '2'
);
$this->_forward('bar', 'foo', 'hoge', $params);


結果:/hoge/foo/bar/a/1/b/2
三.redirect

$this->_redirect('/hoge');


結果:/hoge

$this->_redirect('/hoge/foo');


結果:/hoge/foo

$this->_redirect('/hoge/foo/bar');


結果:/hoge/foo/bar

$this->_redirect('http://localhost/hoge/foo/bar');


結果:http://localhost/hoge/foo/bar

$this->_redirect('http://localhost/hoge/foo/bar?a=1&b=2');


結果:http://localhost/hoge/foo/bar?a=1&b=2
四.特殊な状況
layoutを使用しない
結果:

$this->_helper->layout()->disableLayout();

ビューを使用しない
結果:

$this->_helper->viewRenderer->setNoRender();

zendに関する詳細については、「Zend FrameWorkフレームワーク入門チュートリアル」、「php優秀開発フレームワーク総括」、「Yiiフレームワーク入門および常用テクニック総括」、「ThinkPHP入門チュートリアル」、「phpオブジェクト向けプログラム設計入門チュートリアル」、「php+mysqlデータベース操作入門チュートリアル」および「php一般データベース操作テクニック要約」
Zend Frameworkフレームワークに基づくPHPプログラムの設計に役立つことを期待します.