Flash Messages
Flash Messages sind Nachrichten, die einmalig in der nächsten ViewResponse
angezeigt werden. Dabei ist es egal, ob diese View im selben Request oder erst nach einer oder mehreren Weiterleitungen gerendert wird. Um Nachrichten an folgende Requests weiterzugeben, wird die PHP-Session genutzt.
Nutzung
Die Klasse RHRZ\Framework\Session
verfügt über folgende Methoden für übliche Nachrichtentypen, jeweils mit der Signatur (string $message, bool $raw = false)
.
use RHRZ\Framework\Session;
Session::flashError('Ein Fehler ist aufgetreten.');
Session::flashWarning('Eine Warnung oder ein Hinweis.');
Session::flashSuccess('Aktion erfolgreich ausgeführt.');
Session::flashInfo('Eine allgemeine Information.');
Falls weitere Typen benötigt werden, kann die allgemeine Methode flash(string $type, string $message, bool $raw = false)
verwendet werden.
Session::flash('custom', 'Eine spezielle Nachricht.');
Rohes HTML
Standardmäßig werden Sonderzeichen in Flash Messages escaped, um XSS-Angriffe zu verhindern. Falls bewusst rohes HTML ausgegeben werden soll, kann der Paramater $raw
auf true
gesetzt werden.
Session::flashError('Ein <b>Fehler</b> ist aufgetreten.', true);
Ausgabe
Flash Messages der vier vordefinierten Typen werden in der Datei views/app/inc/flash.twig
als Bootstrap-Alerts ausgegeben. Bei Bedarf kann die enthaltene Logik angepasst werden.