Zend 1.12 と php 5.4.3 を使用していますが、コントローラ アクションで flashMessenger->getMessages() が突然動作しなくなりました。
AControllerでは、あるタイプのアカウントが作成され、それを作成するには9つのステップが必要になるため、9つのアクション create1-9Action があります
各ステップで、flashmessenger を使用してフォーム データを次のステップに渡します。これはアクションの典型的な構造です:
public function create5Action()
{
$form = new My_Form();
$messages = $this->_helper->flashMessenger->getMessages();
$data = $messages[0];
if ($this->_request->isPost())
{
if ($form->isValid($this->_request->getPost()))
{
/* form treatment */
$this->_helper->flashMessenger->addMessage($data);
$this->_redirect($this->_helper->url("create6", "A", null)); // redirect to next step
}
}
$this->_helper->flashMessenger->addMessage($data);
$this->view->form = $form;
}
このアクション (create5) では、create4Action から到着したときのデータはそのままで、前$this->view->form = $form;
にメッセージとして追加するときはそのままですが、フォームに新しい要素を追加して送信すると、$messages = $this->_helper->flashMessenger->getMessages();
null になり、理由がわかりません。他のすべてのアクションで機能しています。