Constructeur dans Symfony2 Contrôleur
Comment puis-je définir un constructeur dans Symfony2 contrôleur. Je veux obtenir à l'utilisateur connecté de données disponibles dans toutes les méthodes de mon contrôleur, Actuellement je fais quelque chose de ce genre dans toutes les actions de mon contrôleur pour obtenir de l'utilisateur connecté.
$em = $this->getDoctrine()->getEntityManager("pp_userdata");
$user = $this->get("security.context")->getToken()->getUser();
Je veux faire une fois dans un constructeur et faire de cet utilisateur connecté disponible sur toutes mes actions
OriginalL'auteur Zoha Ali Khan | 2012-06-24
Vous devez vous connecter pour publier un commentaire.
Pour une solution générale pour l'exécution de code avant chaque action du contrôleur vous pouvez attacher un écouteur d'événement à la
kernel.controller
événement de la sorte:Puis dans votre
BeforeControllerListener
vous permettra de vérifier la manette pour voir si elle implémente une interface, si elle, vous appeler une méthode de l'interface et de passer dans le contexte de sécurité.Ensuite, les contrôleurs que vous voulez avoir à l'utilisateur de toujours disponibles, vous aurez juste à implémenter cette interface et définie par l'utilisateur comme suit:
L'interface n'est rien de plus que
argument
. J'ai lu ceci: symfony.com/doc/current/cookbook/service_container/... ainsi, sans aucune aide évidemmentvous pouvez tout simplement faire quelque chose comme:
arguments: ["@em", "@some_service"]
app.auditeur.constructor_listener: classe: AppBundle\EventListener\ConstructorListener champ d'application: demande arguments: - { type: service, id: la sécurité.contexte } tags: - { name: kernel.event_listener, event: le noyau.contrôleur de méthode: onKernelController } pastebin.com/NTySb68a
OriginalL'auteur MDrollette
Je suis à la running a un peu de retard, mais dans un contrôleur, vous pouvez accéder à l'utilisateur:
Devrait être de travailler depuis 2.1
OriginalL'auteur Moritz
Mon approche de cet été:
Et vous serez en mesure d'obtenir le $this->utilisateur dans chaque action.
Ce qui concerne
OriginalL'auteur Max Małecki