Zend框架中的重定向和转发有什么区别
2022-08-30 12:31:46
在Zend框架中,重定向和转发有什么区别?
我们什么时候应该使用重定向,什么时候应该使用转发?
在Zend框架中,重定向和转发有什么区别?
我们什么时候应该使用重定向,什么时候应该使用转发?
想象一下,你在办公室接到一个电话。有人想与销售人员交谈。如果您说“请致电123456”并挂断电话,则这是重定向 。如果您说“等一下”,然后只需将呼叫转接给他们,这就是转发。;)
_forward()
只是将所有内容转发到另一个控制器操作,同时发送标头,这意味着您可以创建一个新的HTTP请求并使用它完成整个调度过程。_redirect()
例如,如果您调用 http://example.com/foo/bar 则会调用控制器和操作。如果您在操作内部转发到操作,例如在同一请求中,浏览器仍将位于同一URL上,而在执行重定向时,ZF将指示浏览器加载 http://example.com/foo/baz。foo
bar
bar
baz
从本质上讲,确实如此_forward()
$request->setActionName($action)
->setDispatched(false);
而确实_redirect()
$this->_helper->redirector->gotoUrl($url, $options);
当我想防止重新加载页面导致重新发布表单数据时,我通常会进行重定向。
请参阅这些: