Ich habe ein Stück Code, der innerhalb jedes Controllers in DefaultController.php
wiederholt, was mich sehr ärgert. Kann ich es einmal irgendwo anstelle von Kopie einfügen - in jedem neuen Controller, den ich hinzufüge?Symfony2: Lösung zum Wiederholen eines Codes in jedem neuen Controller
2
A
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
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
- 1. Wiederholen eines Teils des Codes in Python 3.4.4
- 2. Event-Listener auf jedem Modul aufgerufen Symfony2
- 3. Konstruktor in Symfony2 Controller
- 4. Hinzufügen eines VBA-Codes in einem neuen Sheet Code
- 5. Symfony2 Overriding Controller
- 6. PB Funktionstest Symfony2-Controller
- 7. Wiederholen eines Navigationsbefehls in vi
- 8. Überprüfen eines Passworts in Symfony2
- 9. Set max_execution_time für bestimmte Controller in symfony2
- 10. Symfony2 Routen zu falschen Controller
- 11. Controller zum Implementieren eines Dateibrowsers in iOS
- 12. Doctrine Lebenszyklusereignis aus einem Symfony2-Controller entfernen
- 13. Wie kann ich einen Symfony2-Controller testen?
- 14. Große Lösung, viele Lösungskonfigurationen, Hinzufügen eines neuen Projekts
- 15. Swiftmailer Ausnahme fängt nicht in Symfony2 Controller
- 16. Handle Fehler in Ajax in Symfony2 Controller
- 17. Zurück Bild von Controller symfony2
- 18. Email Outside-Controller Aktion Symfony2
- 19. Select2 Event zum Erstellen eines neuen Tags
- 20. In jedem Handler-Response-Header ohne die gleiche Linie wiederholen
- 21. wie iterieren ArrayCollection in Symfony2 Controller
- 22. saveAction() in Controller nie aufgerufen (symfony2)
- 23. Variable vor jedem Controller setzen
- 24. Feuer Benachrichtigung Toaster in jedem Controller angularjs
- 25. ein Repository außerhalb eines Controllers in Symfony2
- 26. Symfony2 Embedded Controller und Formular Validierungsproblem
- 27. codeigniter Prüfung für Benutzersitzung in jedem Controller
- 28. Installieren eines neuen Standortanbieters
- 29. wikimedia: Formatieren eines Codes
- 30. Verkürzen eines jQuery-Codes
Okay Chiborg, muss ich es herausfinden, vielen Dank für Hilfe. –
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
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. –