zend framework中render、forward、redirect简介与区别

http://hi.baidu.com/58zhongguo/item/d98689a905c85b96151073af

一、render

//在请求模块/当前控制器/ok.phtml

--直接引入了某个phtml文件

不指定render
结果:{当前Module}/{当前Controller}/{当前Action}.phtml
$this->render('bar');
结果:{当前Module}/{当前Controller}/bar.phtml

二、forward
//通过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

扫描二维码关注公众号,回复: 709829 查看本文章

三、redirect
--可以在本网站的控制器专向,它可以跳转到外网【如:$this->_redirect(http://www.sina.com.cn/)将跳转到新浪网】

$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#39;);
结果:http://localhost/hoge/foo/bar?a=1&b=2

猜你喜欢

转载自hnlixf.iteye.com/blog/1917572