Dictionnaire message d'erreur (Symfony)

L’auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

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?

+0 -0

Cette réponse a aidé l’auteur du sujet

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.

Evitez qu’on vous dise de les lire : FAQ PHP et SymfonyTutoriel WAMP • Cliquez 👍 pour dire merci • Marquez vos sujets résolus

+1 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

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