As mensagens flashs são importantes para personalizar a experiência do usuário com retorno de sucesso, erro ou outros tipos de avisos:
namespace App\Controllers\Pages;
use \App\Utils\Flash;
class Product {
public static function getProduct($req, $res) {
// ...
Flash::create("productNotFound", "Produto não encontrado", FLASH_DANGER);
}
}
Os tipos de flashs podem ser configurados no arquivo define.php
:
Flash::define([
'FLASH_ERROR' => 'error',
'FLASH_DANGER' => 'danger',
'FLASH_WARNING' => 'warning',
'FLASH_INFO' => 'info',
'FLASH_SUCCESS' => 'success'
]);
Após criar uma mensagem é possÃvel renderiza-la para adicionar em uma view:
Flash::create("productNotFound", "Produto não encontrado", FLASH_DANGER);
$flash = Flash::render("productNotFound");
É possÃvel também renderizar uma mensagem que não tenha sido criada previamente:
$flash = Flash::render(false, "Produto não encontrado", FLASH_DANGER);
Caso deseje, renderize diversas mensagens de uma vez (apenas para mensagens criadas previamente):
$flashs = Flash::renderAll(["productNotFound", "productOutOfStock"]);
Uma vez renderizada, adicione-a na view assim como outros parâmetros:
$content = View::render('pages/product', ['flash' => $flash]);
O componente das mensagens flashs pode ser alterado em /resources/components/flash/alert.html
.
Se necessário, crie outro componente no diretório e altere na criação ou renderização da mensagem:
Flash::create("productNotFound", "Produto não encontrado", FLASH_DANGER, 'alert-new');
// ou
Flash::render("Produto não encontrado", FLASH_DANGER, 'alert-new');