Em: Zend
28 jan 2009Quando 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
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