Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
6 / 6
CRAP
100.00% covered (success)
100.00%
15 / 15
Alert
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
6 / 6
7
100.00% covered (success)
100.00%
15 / 15
 popAll
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
3 / 3
 add
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
2 / 2
 success
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
2 / 2
 error
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
4 / 4
 info
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
2 / 2
 warning
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
2 / 2
<?php
namespace Win\Services;
use Exception;
/**
 * Armazena mensagens de alerta na sessão
 */
class Alert
{
    /**
     * Retorna e remove os alertas da sessão
     * @return string[]
     */
    public static function popAll()
    {
        $alerts = $_SESSION["alerts"] ?? [];
        $_SESSION["alerts"] = [];
        return $alerts;
    }
    /**
     * Adiciona um alerta na sessão
     * @param string $message
     * @param string $type
     */
    public static function add(string $message, $type = "default")
    {
        $_SESSION["alerts"][$type][] = $message;
    }
    /**
     * @param string $message
     */
    public static function success($message)
    {
        static::add($message, 'success');
    }
    /**
     * @param string|Exception $message
     */
    public static function error($message)
    {
        if ($message instanceof Exception) {
            $message = $message->getMessage();
        }
        static::add($message, 'danger');
    }
    /**
     * @param string $message
     */
    public static function info($message)
    {
        static::add($message, 'info');
    }
    /**
     * @param string $message
     */
    public static function warning($message)
    {
        static::add($message, 'warning');
    }
}