2012-04-11 11 views

Antwort

3

Wenn der Code zu Beginn jeder Controller-Aktion ausgeführt werden soll, empfehle ich, einen Handler für KernelEventkernel.controller Ereignis zu schreiben, das ausgelöst wird, bevor der Code an die Controller gesendet wird.

Wenn der Code irgendwo im Aktionscode ausgeführt werden soll, können Sie create your own event erstellen und einen Handler dafür erstellen. Sie können den Controller und alle erforderlichen Daten an Ihr benutzerdefiniertes Ereignisobjekt anhängen.

+0

Okay Chiborg, muss ich es herausfinden, vielen Dank für Hilfe. –

+0

Ich verstehe vielleicht nicht die Frage, aber wenn Sie nur versuchen, Code kopieren/einfügen, dann haben DefaultController erweitern Sie den Symfony-Controller und dann haben Ihre individuellen Controller DefaultController zu erweitern. Aber ich vermute (wie @chiborg sagte), dass Sie wirklich repetitiven Code ausführen möchten. – Cerad

+0

Nun, was ich brauche ist, um die Sitzung zu bekommen und es an die Vorlage zu senden, das ist der repetitive Code in jedem Controller: '$ session = $ this-> get ('session'); $ foo = $ session-> get ('uid'); return $ this-> render ('template', array ('session' => $ foo)); 'es sei denn, es gibt eine andere Möglichkeit, die Session an die Vorlage zu senden und zu senden :). Vielen Dank. –

0

Ich habe genau das gleiche.

Erlaubnis in jeder Aktion eines Controllers zu verwalten, i

einen Dienst anzurufenden
$this->permissions =$this->get('vendor.permissions')->checkPermission('BundleName','Profil','select',$this); 
Verwandte Themen