一. render
render使用来调视图用的,不会调用ACTION内部代码
不指定render
$this->render() ;
结果:
{当前Module}/{当前Controller}/{当前Action}.phtml
$this->render('bar') ;
结果:
{当前Module}/{当前Controller}/bar.phtml
二. forward
$this->_forward('bar') ;
结果:
{当前Module}/{当前Controller}/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() ;
不使用 view
结果:
$this->_helper->viewRenderer->setNoRender() ;
参考网址:http://my.opera.com/jlake/blog/2009/08/04/zend-framework-render-forward-redirect