Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 重定向到控制器中的其他视图_Php_Zend Framework_Zend Framework Mvc - Fatal编程技术网

Php 重定向到控制器中的其他视图

Php 重定向到控制器中的其他视图,php,zend-framework,zend-framework-mvc,Php,Zend Framework,Zend Framework Mvc,这是我的Zend Framework目录结构(仅包括您需要的内容): 在IndexController中,我想自动将它们重定向到主视图 我如何做到这一点 这就是我迄今为止所尝试的: header('/application/views/home'); 我想重定向到一个完全不同的视图和控制器。同一控制器中没有不同的操作。如果要在当前操作中呈现另一个操作,可以通过以下方式在操作中呈现: $this->render('actionName'); 或者,显式设置要渲染的模板 $this->

这是我的Zend Framework目录结构(仅包括您需要的内容):

IndexController
中,我想自动将它们重定向到主视图

我如何做到这一点

这就是我迄今为止所尝试的:

header('/application/views/home');

我想重定向到一个完全不同的视图和控制器。同一控制器中没有不同的操作。

如果要在当前操作中呈现另一个操作,可以通过以下方式在操作中呈现:

$this->render('actionName');
或者,显式设置要渲染的模板

$this->renderScript('path/to/viewscript.phtml');
更新:再次阅读您的问题,我想您希望使用

\u向前($action,$controller=null,$module=null,array$params=null):
执行另一个操作。如果在preDispatch()中调用,则将跳过当前请求的操作以支持新操作。否则,在处理当前操作后,将执行_forward()中请求的操作

\u重定向($url,array$options=array()):
重定向到另一个位置。此方法采用URL和一组可选选项。默认情况下,它执行HTTP 302重定向

请参见此问题。

您有一些选择:

使用_重定向操作(非常常见)

或者使用_forward操作只执行请求的操作,而不实际重定向

public function indexAction() {
        $this->_forward('index', 'home');
    }
您可以使用动作助手,类似于_redirect,但有更多选项

public function indexAction() {
            $this->getHelper('Redirector')->gotoSimple('index','home');
        }
这篇关于介绍了控制器内部重定向的基本知识,如果您想从
/idex/index
实际渲染
home/index.phtml
,可以使用


我会让你解开这些秘密。

我认为路由是你需要的,我想重定向到一个不同的视图和控制器。不是同一控制器内的操作
public function indexAction() {
        $this->_forward('index', 'home');
    }
public function indexAction() {
            $this->getHelper('Redirector')->gotoSimple('index','home');
        }