在另一个控制器zend框架2中调用函数

Car*_*nte 2 zend-framework2

我有两个控制器:firstController和SecondController.在firstController中,我必须调用secondController的一个函数,传递参数.

你怎么办?谢谢

Jur*_*man 7

在控制器上调用操作称为调度.您还可以在控制器内调度控制器,称为转发.有一个控制器插件可用于转发到另一个控制器.

一个例子:

class FirstController extends AbstractActionController
{
    public function fooAction()
    {
        $result = $this->forward()->dispatch('SecondController', array(
            'action' => 'bar',
        ));

        // $result is ViewModel with parameter bar = "baz"
    }
}

class SecondController extends AbstractActionController
{
    public function barAction()
    {
        return new ViewModel(array(
            'bar' => 'baz',
        ));
    }
}
Run Code Online (Sandbox Code Playgroud)

如果将第二个参数保留为dispatch()out,它将使用主控制器的当前参数.