我正在使用_forward()帮助器将一个数组从一个传递给另一个动作..但我不知道如何在我的接收动作中访问这个数组..这里是我正在使用的_forward()帮助器< / p>
$this->_forward('action', 'controller', 'null', $Myarray);
这是正确的,如何在我的同一个控制器的另一个动作中访问这个$ Myarray
答案 0 :(得分:1)
如果您_forward()
向另一个控制器/操作发出请求,您可以通过从作为转发处理程序的控制器操作调用$this->getRequest()->getParam('param');
来访问您传递的参数。
示例:
// in IndexController testAction
$myarray = array(
'param1' => 'value1',
'param2' => 'value2'
);
$this->_forward('forward-test', 'Test', null, $myarray);
// In TestController forwardTestAction
$value1 = $this->getRequest()->getParam('param1', '');
$value2 = $this->getRequest()->getParam('param2', '');
如果$Myarray
不是具有键值对的数组,或者您想从单个参数访问它,则需要将_forward()
的第4个参数设置为array('myarrayparam' => $Myarray)
之类的值然后使用$this->getRequest()->getParam('myarrayparam', array());