Dictionnaire message d'erreur (Symfony)

Le problème exposé dans ce sujet a été résolu.

Bonjour,

je reprends encore un projet sous symfony 3.4

je souhaiterai mettre en place un dictionnaire de message d’erreur, ce sont souvent les mêmes qui reviennent et les libellés changent au grès des demandes des utilisateurs…

les erreurs sont remontées actuellement

dans le controlleur

$session->getFlashBag()->add("error", "Vous devez renseigner votre prénom.");

dans la vue (layout)

{% for erreur in app.session.flashbag.get('error') %}
<div class="alert alert-danger alert-dismissable">
   <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
   {{ erreur}}
</div>
{% endfor %}

je souhaiterai dans le controlleur avoir:

$session->getFlashBag()->add("error", $erreur123);

et gérer un dictionnaire

plusieurs choix possibles:

  • se servir du système de translation
  • créer un service

d’après vous quel est la meilleure méthode?

Salut !

Je serais partisan de passer par le système de traduction de Symfony, quitte à ce que tes sources d’erreur soient du style error.346 — tu pourrais même les extraire dans un domaine à part. Cependant, pour éviter des soucis, la traduction devrait être effectuée dans le contrôleur, pas dans le template. Ainsi tu as accès à quelques données pour générer correctement le message.
On parle souvent de messages flash, pour moi ce sont des chaînes de caractères a afficher brut dans la vue. Je ne trouverais pas terrible de mettre des tableaux dans les messages flash pour transmettre le contexte à l’affichage.

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte