如何使用Forward Plugin将数据转发到另一个动作并在Zend Framework 2中读取它?

时间:2013-04-12 17:11:14

标签: zend-framework2 forward zend-controller zend-controller-plugin

我在控制器中有两个操作:actionA()actionB()。根据条件,actionA()应返回ViewModel个对象或转发给actionB()(并返回其结果):

类MyController扩展了AbstractActionController {

public function aAction() {
    ...
    $data = ...
    ...
    if (...) {
        $result = new ViewModel(array(
            'data' => $data,
        ));
    } else {
        $result = $this->forward()->dispatch('MyModule\Controller\My', array(
            'action' => 'b',
        ));
    }
    return $result;
}

我用

尝试了
        $result = $this->forward()->dispatch('MyModule\Controller\My', array(
            'action' => 'b',
            'data' => $data,
        ));

但我不知道如何获取此数据。

我确定,这是可能的。我该怎么办?

1 个答案:

答案 0 :(得分:0)

    public function bAction() {
        ...
        // so:
        $params = $this->params()->fromRoute();
        // or so:
        $params = $this->getEvent()->getRouteMatch()->getParams();
        ...
    }