Dieser Artikel ist bereits über 2 Jahre alt. Das gezeigte Vorgehen ist vielleicht nicht mehr aktuell.
Copyright bei Patrick Froch und easy Solutions IT. Dieses Werk ist lizenziert unter Creative Commons BY-NC-SA.

Überblick
Die einfachste Art, ist die dierekte Ausgabe des Inhalts mittels einer anonymen Funktion in der Konfiguration der Route: Dies ist natürlich nicht gerade Praxistauglich. Meist wird für die Verarbeitung der Anfrage eine Klasse verwendet: Das ganze funktioniert auch mit statischen Methoden: Selbstverständlich können auch Namespaces verwendet werden:Tokens
Es ist auch möglich Tokens in den Routen zu verwenden. Hier wird in der Variable@count
ein Wert übergeben, auf man dann im Controller mit
$f3->get('PARAMS.count')
zugriffen kann. Im Template kann auch direkt mit
{{ @PARAMS.count }}
darauf zugegriffen werden.
Das Array mit den Parametern ($params
) wird auch an die Controller-Methode übergeben:
Weiterhin kann man in den Routes Wildcards (*
) verwenden um alle URLs abzufangen:
Namen für Routes
Es ist möglich den Routes Namen zu geben, um sie einfacher ansprechen zu können: Im Template könnte man den Namen der Route dann z.B. für einen Link nutzen:Rerouting
Um eine Anfrage weiterzuleiten, geht man wie folgt vor:Routing für ein RESTful-Service
Will man einen RESTful-Service erstellen, werden häufig Klassen verwendet, die auf die verschiedenen HTTP-Methoden reagieren. Hierfür gibt es die Methodemap()
:
In den Methoden kann dann auf den Parameter @item
zugegriffen werden, z.B. mit
$f3->get('PARAMS.item')
.
Dynamische Routes
Um eine dynamische Route zu definieren, nutzt man einen Token, der als Methoden- oder Klassenname verwendet wird: In der ersten Zeile wird den Token@genre
als Methodenname verwendet und je nach URL eine andere Methode
aufgerufen. In der zweiten Zeile wird auch die Klassen per Token (@controller
) ausgewählt. Dies ist
natürlich sehr flexibel, da man sich fast die ganze Konfiguration der Routes sparen kann.
Auslagern der Routes-Konfiguration
Bei größeren Anwengungen kann das direkte Definieren der Routes schnell unübersichtlich werden. Man hat deshalb die Möglichkeit die Routes und das Mapping in Konfigurationsdateien auszulagern. Die Routes werden im Abschnit[routes]
definiert, die Mappings in [maps]
.
Die Dateien werden mit $f3->config('pfad/zur/datei');
geladen.
Kommentare
Einen Kommentar schreiben