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