Flash
O middleware de Mensagens Flash no Lithe permite armazenar e recuperar mensagens temporárias entre solicitações.
Instalando o Middleware de Mensagens Flash
Para instalar o middleware de Mensagens Flash, utilize o Composer:
composer require lithemod/session
Você pode encontrar mais informações e o código fonte do módulo em github.com/lithemod/session.
Usando o Middleware de Mensagens Flash
O middleware de Mensagens Flash no Lithe permite armazenar mensagens temporárias na sessão, que podem ser acessadas na próxima solicitação. Isso é útil para exibir mensagens de status, como confirmações ou erros, após uma operação.
Configurando o Middleware Flash
Para usar o middleware de Mensagens Flash, adicione-o à sua aplicação com o método use()
:
use Lithe\Middleware\Session\flash;
$app->use(flash());
Definindo Mensagens Flash
Para definir uma mensagem flash, você pode usar o método mágico __set
ou o método set
da classe Flash
. Ambas as abordagens armazenam a mensagem na sessão para que esteja disponível na próxima solicitação.
-
Usando o método mágico
__set
:$app->get('/set-message', function ($req, $res) { $req->flash->successMessage = 'Operação concluída com sucesso!'; });
-
Usando o método
set
:$app->get('/set-message', function ($req, $res) { $req->flash->set('successMessage', 'Operação concluída com sucesso!'); });
Recuperando Mensagens Flash
Para recuperar e remover uma mensagem flash da sessão, você pode usar o método mágico __get
ou o método get
da classe Flash
. Essas mensagens são removidas da sessão após serem recuperadas.
-
Usando o método mágico
__get
:$app->get('/get-message', function ($req, $res) { $message = $req->flash->successMessage; echo $message; // Exibe a mensagem });
-
Usando o método
get
:$app->get('/get-message', function ($req, $res) { $message = $req->flash->get('successMessage'); echo $message; // Exibe a mensagem });
Verificando Mensagens Flash
Para verificar se uma ou mais mensagens flash existem na sessão, use o método has
:
-
Verificação única:
$app->get('/check-message', function ($req, $res) { $exists = $req->flash->has('successMessage'); echo $exists ? 'Mensagem existe!' : 'Mensagem não existe.'; });
-
Verificações múltiplas:
$app->get('/check-messages', function ($req, $res) { $exists = $req->flash->has(['successMessage', 'errorMessage']); echo $exists ? 'Mensagens existem!' : 'Nenhuma mensagem existe.'; });
Mantendo Mensagens Flash
Se você deseja manter uma mensagem flash para a próxima solicitação (ou seja, torná-la disponível em mais de uma solicitação), use o método keep
:
$app->get('/keep-message', function ($req, $res) {
$req->flash->keep('successMessage');
});
Isso reconfigura a mensagem para a próxima solicitação após a recuperação.
Considerações
- Persistência: As mensagens flash são removidas da sessão após a primeira recuperação, a menos que você use o método
keep
para preservá-las. - Segurança: Certifique-se de sanitizar as mensagens recuperadas para evitar problemas de segurança, como ataques XSS. A validação e a manipulação correta das mensagens são essenciais para manter a segurança da aplicação.