我action stack
在我的 ZF 应用程序中使用。我将在这里解释场景。在第一个动作中,我有一个带有选择框和提交按钮的简单表单。现在在发布后,我验证数据并保存并将我的第二个操作推送到action stack
.
我推入堆栈的第二个动作也有一个表格,可以在帖子中保存数据。
现在问题出现在这里:当动作堆栈被处理时,它会弹出堆栈并转发我存储在堆栈中的第二个动作。现在,当我的第二个动作被调用时,它直接进入 post 中的循环并尝试验证数据,因为第一个动作请求是 post,而我没有从第二个动作中获取表单。
我知道动作堆栈是邪恶的,但到目前为止我别无选择。这只是我试图解释我的问题的一种情况。
如果我无法正确解释问题,我很乐意更详细地解释......
public function firstactionAction() {
if($this->getRequest()->isPost()) {
//validate and save form
$helper = Zend_Controller_Action_HelperBroker::getStaticHelper('actionStack');
$request = new Zend_Controller_Request_Http();
$request->setControllerName('index');
$request->setModuleName('default');
$request->setActionName('secondaction');
$helper->pushStack($request);
} else {
//creating form object and assigning to view.
}
}
public function secondactionAction() {
if($this->getRequest()->isPost()) {
//Problem is here.. when action stack gets processed.. it directly comes here. as it uses forward internally..
} else {
//creating form object and assigning to view.
}
}
提前致谢...