一. render
不指定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
不指定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
本文深入探讨了MVC框架下render、forward、redirect三种方法的使用场景与区别,通过实例展示了它们如何影响视图的加载路径。
745

被折叠的 条评论
为什么被折叠?



