Konstruktor im Symfony2-Controller

8

Wie kann ich einen Konstruktor im Symfony2-Controller definieren? Ich möchte die eingeloggten Benutzerdaten in allen Methoden meines Controllers abrufen, derzeit mache ich so etwas in jeder Aktion meines Controllers um den eingeloggten Benutzer zu bekommen.

%Vor%

Ich möchte es einmal in einem Konstruktor machen und diesen angemeldeten Benutzer für alle meine Aktionen verfügbar machen

    
Zoha Ali Khan 24.06.2012, 16:34
quelle

3 Antworten

12

Für eine allgemeine Lösung zum Ausführen von Code vor jeder Controller-Aktion können Sie einen Ereignis-Listener an das kernel.controller -Ereignis wie folgt anhängen:

%Vor%

Dann überprüfen Sie in Ihrem BeforeControllerListener den Controller, ob er eine Schnittstelle implementiert. Wenn dies der Fall ist, rufen Sie eine Methode von der Schnittstelle auf und übergeben den Sicherheitskontext.

%Vor%

Dann sollten alle Controller, denen der Benutzer immer verfügbar sein soll, diese Schnittstelle implementieren und den Benutzer so einstellen:

%Vor%

Die Schnittstelle ist nichts anderes als

%Vor%     
MDrollette 24.06.2012 17:13
quelle
3

Ich laufe ein bisschen spät, aber in einem Controller können Sie einfach auf den Benutzer zugreifen:

%Vor%

Sollte seit 2.1 funktionieren

    
Moritz 01.10.2013 14:33
quelle
2

Mein Ansatz dazu war:

  1. Erstellen Sie eine leere Schnittstelle InitializableControllerInterface
  2. Machen Sie Event-Listener für
%Vor%
  1. Fügen Sie in Ihrem Controller Folgendes hinzu:
%Vor%

Und Sie können den $ this- & gt; -Benutzer in jeder Aktion erhalten.

Grüße

    
Max Małecki 26.06.2012 07:49
quelle

Tags und Links