Routing in Contao 4
für Entwickler
Einstieg in das Routing Konzept für Umsteiger von Contao 3
Bonus 1 - Routing ohne Annotations
Glen Langer
Version: 1.0.0 vom 02.02.2018
Worum geht es?
- Contao Nordtag 2018:
Routing Definitionen über Annotations im Controller - Hier nun Routing ohne Annotations,
Angaben alle in der routing.yml - Theorie und Praxis
neue Version der contao-routing-app
routing.yml für die FE Route
Die Annotation-Angaben der Controller Klasse und der Action Methode werden in die routing.yml übertragen.
In den folgenden Beispielen sind Ausschnitte der routing.yml aus der Demo zu sehen:
routing.yml für die FE Route
frontend_demo:
path: /routingapp_fe/demo/{height}/{width}
defaults:
_controller: BugBusterRoutingappBundle:Frontend:demo
_scope: frontend
_token_check: false
height: 0
width: 0
requirements:
height: '\d+'
width: '\d+'
Einige Erläuterungen
- frontend_demo: Name der Route,
vorher@Route ...name="frontend_demo"
- path: Zusammengesetzter Pfad der Route
- _controller: Angabe in der Form "Bundle:Controller:Methode"
Magie von Symfony: "Controller" und "Action" werden angehangen."AppBundle:Blog:show"
wird intern zu"AppBundle:BlogController:showAction"
- Für "height" und "width" sind hier Defaultwerte definiert,
nicht mehr in der Methode
routing.yml für die BE Route
Die Annotation-Angaben der Controller Klasse und der Action Methode werden in die routing.yml übertragen.
In dem folgenden Ausschnitt der routing.yml aus der Demo sind nur die Angaben für eine der Backend Routen zu sehen:
routing.yml für BE Main Route
backend_maintest:
path: /routingapp/main
defaults:
_controller: BugBusterRoutingappBundle:Backend:bemain
_scope: backend
_token_check: true
_custom_backend_view: true
_backend_module: bemain
Hinweis zum Twig Template
- Da Annotation @template entfällt, Ersatz durch Anpassung im Controller nötig
- Siehe Demo Quelltext:
$this->render(Template Pfad, Key=>Value Angaben);
Bundle Demo Sourcecode
Auf GitHub
- Version 1.0.0: Entspricht dem Stand zum Zeitpunkt des Contao Nordtag Vortrages
- Version 2.0.0: Routing ohne Annotations, alle Angaben in der routing.yml
Happy Coding!
Aktuelle Version dieser Folien auf: docs.contao.ninja
(auch als PDF und später auch als Video)