5
我不知道是否有可能使用Flash Messenger沒有重定向?例如。登錄失敗後,我想繼續顯示錶單,不需要重定向。可能使用FlashMessenger而不重定向?
public function loginAction() {
$form = new Application_Form_Login();
...
if ($this->getRequest()->isPost() && $form->isValid($this->getRequest()->getParams())) {
$authAdapter = new Application_Auth_Adapter($form->getValue('username'), $form->getValue('password'));
if ($this->auth->authenticate($authAdapter)->isValid()) {
...
} else {
// login failed
$this->flashMessenger->addMessage('Login failed. You may have entered an invalid username and/or password. Try again');
}
}
$this->view->form = $form;
}
我該怎麼辦?使用我的上述代碼,刷新後只會顯示Flash信使消息 – 2010-12-23 12:23:45
這是我不喜歡FlashMessenger的一個方面;它只存在於控制器級別。對我而言,這個Flash信使業務應該是一個以視圖爲中心的過程。這就是爲什麼我主要使用稱爲[priorityMessenger]的視圖幫助器(http://emanaton.com/code/php/zendprioritymessenger)。爲了使現有的FlashMessenger有用,您可以查看[Robert Basic的FlashMessenger視圖助手](https://github.com/robertbasic/phpplaneta/blob/master/library/PPN/View/Helper/FlashMessenger.php)。在你的情況下,沒有刷新,我仍然認爲將錯誤附加到表單上更簡單。 – 2010-12-23 15:23:53