Zend Framework中forward和redirect的区别

找了一圈,看到大家讲的都不好玩,不直白。我来引用Stackoverflow上某人做的一 个比喻:

你是苦逼的开发,桌上的电话响了,接听后,那人说要找一位销售讲电话,你说:销售的直线是020-12345678,然后就给挂掉了。这就是redirect。另一种情况,你说,你等等啊我给你转一下,然后将电话转给一位销售部门。这就是forward。

$this->_redirect($url);
$this->_redirect('/Read/novel/id/3');
$this->_redirect('http://www.oschina.net');
//这个redirect转了哪些参数,别人是不是一目了然?

要是你用forward,可以在Module、Controller和Action之间跳,就是不能跳到别人的网站。

$this->_forward('action','controller','module',$param);
//转到www.ursite.com/Controller/action/$param

$this->_forward('novel','Read','default',array('id'=> $id,'mode'=> $mode));
//转到www.ursite.com/Read/novel/id/3/mode/fullverion,这个3和fullversion是变量

$this->_forward('poem','null','null',array('id'=> $id,'mode'=> $mode));
//这个forward,跳到别的网站去,如果在同一个Controller下另一个novel动作,可以节省流量,节省计算资源

另外,forward之后,显示在地址栏里的地址不变。

转载于:https://my.oschina.net/u/589241/blog/1807986

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值