Skip to content

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).

php
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.

php
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.

php
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.