© istockphoto.com/SireAnko
PHP Magazin
Mit dem Zend Framework 2 die richtige Route finden

Auf der Route 66

Bei der Konfiguration des Routings einer Zend-Framework-2-Anwendung gibt es einiges zu beachten, um unnötige Probleme frühzeitig zu vermeiden. Mit den passend ausgewählten Routentypen und einer durchdachten Struktur können Sie der Performance des Zend-Framework-2-Routers ordentlich einheizen. Zudem helfen eine gleichbleibende Benennung und eine feste Struktur der Routen dabei, nicht viel Zeit bei der Generierung von URLs in der View und im Controller zu verlieren.

Ralf Eggert


In diesem Artikel erfahren Sie zunächst einiges über die Grundlagen des Routings im Zend Framework 2 und welche Routentypen Ihnen zur Verfügung stehen. Danach bauen wir auf Basis einiger Controller eine erste Routenkonfiguration auf und verbessern diese schrittweise hinsichtlich des Speicherverbrauchs und der Performance. Zusätzlich erfahren Sie alles Wissenswerte über die Ausgabe von URLs auf Basis Ihrer Routenkonfiguration und erhalten einen Ausblick auf das Routing im Zend Framework 3.

ZF2-Beispielanwendung

Damit Sie die Beispiele selbst nachvollziehen können, steht eine Beispielanwendung auf GitHub für Sie bereit [1]. Darin wollen wir mit dem Routing einer Anwendung experimentieren und schauen, was es alles zu dem Thema zu beachten gilt. Sie können das Projekt wie folgt klonen (bitte ggf. die Verzeichnisse anpassen) und installieren. Dabei setzen wir auch noch die Schreibrechte des /data/-Verzeichnisses und wechseln Sie dann zum start-Branch:

$ cd /home/devhost$ git clone https://github.com/RalfEggert/phpmagazin.routing$ cd phpmagazin.routing$ php composer.phar selfupdate$ php composer.phar install$ sudo chmod 777 -R data/$ git checkout start

Danach richten Sie einen Virtual Host für die Adresse phpmagazin.routing ein. Wenn Sie nun http://phpmagazin.­routing/ in Ihrem Browser aufrufen, sollte die Seite ungefähr wie in Abbildung 1 aussehen. Die Listings zu diesem Artikel finden Sie sowohl auf GitHub [2] als auch in diesem Repository im Verzeichnis /listings/. Damit sind die Vorbereitungen abgeschlossen, und wir können loslegen.

Abb. 1: Der erste Aufruf von http://phpmagazin.routing

Grundlagen zum Routing

Das Routing einer Anwendung hat generell die Aufgabe, auf Basis einer Serveranfrage herauszufinden, welcher Controller aufgerufen werden soll. Dafür wird der URL der Anfrage analysiert und mithilfe der Routenkonfiguration die passende Route ermittelt. Im Zend Framework 1 stand eine vordefinierte Route bereit, mit der sich theoretisch das Routing einer gesamten Anwendung umsetzen ließ. Alle URLs nach folgendem Schema konnten damit ohne weitere Konfiguration verwendet werden: http://meine.domain.de/module/controller/­action/key1/value1/key2/value2.

Der erste Parameter war somit ein Platzhalter für den Namen eines Moduls, der zweite Parameter definierte den Controller und der dritte die aufzurufende Aktion. Für alle drei Ebenen standen Default-Werte bereit, sodass diese auch weggelassen werden konnten. Werden für eine Route weitere Parameter benötigt, können si...

PHP Magazin
Mit dem Zend Framework 2 die richtige Route finden

Auf der Route 66

Bei der Konfiguration des Routings einer Zend-Framework-2-Anwendung gibt es einiges zu beachten, um unnötige Probleme frühzeitig zu vermeiden. Mit den passend ausgewählten Routentypen und einer durchdachten Struktur können Sie der Performance des Zend-Framework-2-Routers ordentlich einheizen. Zudem helfen eine gleichbleibende Benennung und eine feste Struktur der Routen dabei, nicht viel Zeit bei der Generierung von URLs in der View und im Controller zu verlieren.

Ralf Eggert


In diesem Artikel erfahren Sie zunächst einiges über die Grundlagen des Routings im Zend Framework 2 und welche Routentypen Ihnen zur Verfügung stehen. Danach bauen wir auf Basis einiger Controller eine erste Routenkonfiguration auf und verbessern diese schrittweise hinsichtlich des Speicherverbrauchs und der Performance. Zusätzlich erfahren Sie alles Wissenswerte über die Ausgabe von URLs auf Basis Ihrer Routenkonfiguration und erhalten einen Ausblick auf das Routing im Zend Framework 3.

ZF2-Beispielanwendung

Damit Sie die Beispiele selbst nachvollziehen können, steht eine Beispielanwendung auf GitHub für Sie bereit [1]. Darin wollen wir mit dem Routing einer Anwendung experimentieren und schauen, was es alles zu dem Thema zu beachten gilt. Sie können das Projekt wie folgt klonen (bitte ggf. die Verzeichnisse anpassen) und installieren. Dabei setzen wir auch noch die Schreibrechte des /data/-Verzeichnisses und wechseln Sie dann zum start-Branch:

$ cd /home/devhost$ git clone https://github.com/RalfEggert/phpmagazin.routing$ cd phpmagazin.routing$ php composer.phar selfupdate$ php composer.phar install$ sudo chmod 777 -R data/$ git checkout start

Danach richten Sie einen Virtual Host für die Adresse phpmagazin.routing ein. Wenn Sie nun http://phpmagazin.­routing/ in Ihrem Browser aufrufen, sollte die Seite ungefähr wie in Abbildung 1 aussehen. Die Listings zu diesem Artikel finden Sie sowohl auf GitHub [2] als auch in diesem Repository im Verzeichnis /listings/. Damit sind die Vorbereitungen abgeschlossen, und wir können loslegen.

Abb. 1: Der erste Aufruf von http://phpmagazin.routing

Grundlagen zum Routing

Das Routing einer Anwendung hat generell die Aufgabe, auf Basis einer Serveranfrage herauszufinden, welcher Controller aufgerufen werden soll. Dafür wird der URL der Anfrage analysiert und mithilfe der Routenkonfiguration die passende Route ermittelt. Im Zend Framework 1 stand eine vordefinierte Route bereit, mit der sich theoretisch das Routing einer gesamten Anwendung umsetzen ließ. Alle URLs nach folgendem Schema konnten damit ohne weitere Konfiguration verwendet werden: http://meine.domain.de/module/controller/­action/key1/value1/key2/value2.

Der erste Parameter war somit ein Platzhalter für den Namen eines Moduls, der zweite Parameter definierte den Controller und der dritte die aufzurufende Aktion. Für alle drei Ebenen standen Default-Werte bereit, sodass diese auch weggelassen werden konnten. Werden für eine Route weitere Parameter benötigt, können si...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang