zend framework中 render()、_forward()、redirect()的使用和区别

一. render

render使用来调视图用的。

不指定render

$this->render() ;

结果: {当前Module}/{当前Controller}/{当前Action}.phtml

$this->render('bar') ;

结果: {当前Module}/{当前Controller}/bar.phtml

总结:通过render()可以直接引入某个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

总结:通过_forward可以跳转到别的控制器某个函数或者跳转到本控制器的某个函数

三. 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

总结:redirect可以跳转到本网站的其他控制器,也可以跳转到其他网站去。

四. 特殊情况

不使用 layout

结果: $this->_helper->layout()->disableLayout() ;

不使用 view

结果: $this->_helper->viewRenderer->setNoRender() ;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值