Enviar mensagens à uma nova requisição do mesmo controller do Zend Framework

Em: Zend

28 jan 2009

Quando você faz uma nova requisição ao mesmo controller, a instância atual é perdida, juntamente com as mensagens que houvera configurado.

Para enviar mensagens ao usuário em uma nova requisição, você deverá fazer uso de um helper chamado FlashMessenger, que, por sua vez, utiliza a classe Zend_Session para passar a mensagem à diante, removendo-a logo em seguida.

Segue um exemplo de uso desse helper:

class ExemploController extends Zend_Controller_Action
{
    protected $_flashMessenger = null;
 
    public function init()
    {
        // Coloca o helper na variável de instância _flashMessenger
        $this->_flashMessenger = $this->_helper->getHelper('FlashMessenger');
        $this->initView();
    }
 
    public function atualAction()
    {
        // O método addMessage() adiciona uma mensagem
        $this->_flashMessenger->addMessage('Dados salvos com sucesso!');
    }
 
    public function proximaAction()
    {
        // O método getMessages() retorna um Array com as mensagens
        $this->view->mensagens = $this->_flashMessenger->getMessages();
    }
}

Na view, você terá todas as mensagens em $this->mensagens

Comentário

Sobre o autor

Rubens Gadelha é formado em Webdesign & Webmaster (hoje Desenvolvimento de Web e Comércio Eletrônico) pela Universidade Estadual Vale do Acaraú - UVA e dedica algumas horas do dia à boa leitura e autodidática.

Atualmente trabalha como Programador Web, focado na linguagem PHP e no Zend Framework, bibliotecas de javascript como JQuery e o uso de CMS’s como Drupal. Os bancos de dados MySQL e PostGres também fazem parte do seu dia-a-dia.

Dedica suas horas vagas ao aprofundamento na linguagem Java

Categorias

Arquivos

  • Sergio: Excelente! trabalho muito bom, mas seria bom ter um link para o download completo. Obrigado! [...]
  • Sergio: Excelente!!! muy buen trabajo, pero sería bueno tener un link con la descarga completa. Gracias! [...]
  • Percival: Olá tenho algumas duvidas, sou novo em vaadin e seu post esta bom, mas "BiometriaApplication" que r [...]
  • Jonathan Welzel: Ótimo tutorial. Já tinha visto um exemplo baseado nesse padrão de gerenciamento de sessões por r [...]
  • Arthur: Amigo, tentei fazer o que vc disse no passo-a-passo essa integração do hibernate com o vaadin. Eu [...]