Enviar informações para View uma unica vez no CakePHP 2.X

Enquanto desenvolvia com CakePHP 2.X eu me deparei varias vezes com o mesmo caso. Após execução de determinada ação queria enviar uma informação a View.

Eu não queria ficar usando Session para realizar este controle e ter o trabalho de monitorar isso. No caso do CakePHP 2.X a solução é muito simples, “setFlash”.

Quando você pega a informação do flash ela é removia automaticamente pelo framework, assim não temos que ficar preocupados com essa gestão de variáveis. E como tudo é nativo do CakePHP 2.X para usar é só realizar a chamada dentro do Controller, como mostrado no código abaixo.

Logicamente esta informação está dentro do manual do CakePHP 2.X e podemos encontra-la com certa facilidade, mas achei este código mais simples e portanto mais prático.

Controler (Dentro de método que exibe a view)

$this->Session->setFlash(__('YOUR MESSAGE GOES HERE'));

View (chamada pelo metodo onde a flash foi criada)
Neste caso estou fazendo uso do Bootstrap3 para criação de uma caixa para a mensagem.

        $message = $this->Session->flash();
        if($message !== null && $message != ""){
            echo '<div class="alert alert-danger centerText" role="alert">'.$message.'</div>';
        }

Qualquer dúvida ou dicas, entre em contato: leandrolt@gmail.com

Leave a Reply

Your email address will not be published. Required fields are marked *