Messages Flash

Afficher un message temporaire à l’utilisateur

Les messages flashs permettent au site ou l’application d’indiquer des informations temporaires à l’utilisateur. Ils sont stockés en session jusqu’à ce qu’il soit affiché à l’utilisateur. On les utilise le plus souvent pour indiquer qu’une action de l’utilisateur à fonctionner correctement ou à générer une erreur.

Ajout d’un message flash

Les messages flashs sont créés au niveau des contrôleurs. Vous pouvez les ajouter avec la ligne de code :

$this->addFlash("type", "Votre message");

Remplacez les deux arguments de la méthode addFlash() par un type de message (ex: « error », « success », etc.) et votre message, respectivement.

Afficher le message

Au niveau d’un fichier twig (souvent la base), vous pouvez afficher vos messages flash ainsi :

{% for message in app.flashes('type') %}
        <div class="alert alert-type">{{ message }}</div>
{% endfor %}

Si vous avez plusieurs type de messages, vous pouvez les stocker dans un tableau, et ajoutez une boucle.

{% for type in ["success","warning","error"] %}
   {% for message in app.flashes(type) %}
        <div class="alert alert-{{type}}">{{ message }}</div>
   {% endfor %}
{% endfor %}

À vous ensuite de personnaliser le html et le css pour afficher vos messages sur votre site.

Votre message ne s’affiche pas

Vous pouvez visualiser les messages flash qui n’ont pas été consommés dans le profiler. Dans mon exemple, j’ai fait une redirection vers une autre page. Pour voir les messages flashes, il faut aller sur le contrôleur de départ depuis la barre de débogage. Allez ensuite sur l’onglet « Flashes ».