Zend框架中重定向和转发有什么区别

use*_*400 37 php zend-framework

Zend框架中重定向和转发有什么区别?

什么时候应该使用重定向,什么时候应该使用前进?

use*_*291 68

想象一下,你在办公室接到电话.有人想和销售人员谈谈.如果你说"请拨打123456"并挂机,这是重定向.如果您说"等一下"并将呼叫转接给他们,这就是前进.;)

  • 如果你只是把它们搁置而忘记它们这是一个无限循环? (13认同)

Gor*_*don 52

_forward()只需所有内容转发给另一个控制器操作,同时_redirect()发送一个标头,这意味着您创建一个新的HTTP请求并使用它完成整个调度过程.

例如,如果您调用http://example.com/foo/bar,则会调用foo控制器和bar操作.如果您将操作内部转发barbaz操作,例如在同一个请求中,浏览器仍然在同一个URL上,而在进行重定向时,ZF会指示浏览器加载http://example.com/foo/巴兹.

基本上,_forward()是吗

$request->setActionName($action)
        ->setDispatched(false);
Run Code Online (Sandbox Code Playgroud)

虽然_redirect()如此

$this->_helper->redirector->gotoUrl($url, $options);
Run Code Online (Sandbox Code Playgroud)

当我想阻止重新加载页面导致重新发布表单数据时,我通常会进行重定向.

看到这些: