Comment spécifier un groupe de contrôleurs (par exemple, tous les contrôleurs d'une section admin) et affecter une variable ou un service accessible dans tous les modèles rendus par ces contrôleurs? Un équivalent dans Laravel serait de spécifier différents middleware pour différents groupes de routes.Comment passer une variable à des modèles pour plusieurs contrôleurs dans Symfony 3?
Je ne cherche pas ces réponses:
variables globales - serait injecté inutilement la variable/services à certains des contrôleurs
Embedding (par exemple les contrôleurs frontaux.) autres contrôleurs dans les modèles - une solution de contournement lente, prolixe et répétitive.
Pouvez-vous montrer votre code? –
Les contrôleurs Symfony renvoient généralement la version de réponse d'un modèle afin qu'il n'y ait pas d'espace pour le middleware. Généralement, lorsqu'un contrôleur Symfony renvoie une réponse, il s'agit d'une chaîne complètement analysée. Si vous voulez être capable de le gérer après le contrôleur, vous devrez retourner un ensemble de paramètres avec quelque chose pour identifier le modèle, puis configurer un écouteur 'Kernel :: Response' pour gérer les paramètres supplémentaires et la création réelle de la réponse objet. – qooplmao
Deux options que je peux penser, et vous avez essentiellement dit les deux 1) Service - avoir une fonction pour obtenir la variable si l'utilisateur a l'autorisation, ou la demande est à la bonne url/contrôleur etc 2 Middleware - utilisez les écouteurs d'événement pour définir la variable sur les bonnes requêtes. –