如何从zend中的_forward()助手获取数据?

时间:2011-10-06 14:55:21

标签: php zend-framework

我正在使用_forward()帮助器将一个数组从一个传递给另一个动作..但我不知道如何在我的接收动作中访问这个数组..这里是我正在使用的_forward()帮助器< / p>

$this->_forward('action', 'controller', 'null', $Myarray);

这是正确的,如何在我的同一个控制器的另一个动作中访问这个$ Myarray

1 个答案:

答案 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());

接收它