使用$ this-> view->在Zend中执行操作时,$ this-> _forward无效

时间:2015-06-25 05:16:55

标签: php zend-framework

我正在使用$this->view->action调用某个操作来获得一些响应。我正在使用$this->_forward()进行操作。但是当我用$this->view->action调用它时,它不起作用。

我在打电话:

$result = $this->view->action('search-results', 'controller', 'mobule', $requestParams);

内部searchResulsAction()我正在使用

$this->_forward("get-listings", "controller", "module", $requestParams);

但是电话不会转到getListingsAction()

1 个答案:

答案 0 :(得分:1)

首先直接来自Zend View Helpers documentation

  

导致_forward()或重定向的操作被视为无效,并将返回空字符串。

第二,当你有$this->view->action时,你应该仍然在控制器内,这意味着你应该实际使用$this->_forward('search-results', 'controller', 'mobule', $requestParams)。除非您需要留在该控制器中并查看并且不希望最终进入getListingsAction()并查看?

如果您需要保留在该控制器/视图中,您可能应该通过从其他控制器中将这些部分提取到Action Helpers或View Helpers来重构您的代码。如果事实上你想最终进入getListingsAction,那么你应该做一个前锋。