© saicle/Shutterstock.com
PHP Magazin
Einen URL-Shortener mit dem neuen Zend Framework 2 bauen

ZF2 - ein Cookbook

Gute Nachrichten für Zend-Framework-Entwickler und alle, die es werden wollen: Zend Framework ist am 6. September in der Version 2 erschienen. Und wer schon einmal in den Code reingeschaut hat oder einen Blick in die Doku geworfen hat, wird feststellen, dass sich doch einiges seit der ersten Version geändert hat. Grund genug, in einem Cookbook zu beschreiben, wie mit ZF2 losgelegt werden kann.

Jan Burkl


Als Beispielapplikation möchte ich einen einfachen URL-Shortener à la bit.ly implementieren. Der Funktionsumfang ist überschaubar, dennoch gibt es so einige spannende Punkte, die sehr elegant mit dem ZF2 gemeistert werden können. In diesem Artikel werden zwar immer wieder Verweise auf die erste Version des Zend Frameworks zu finden sein, aber auch für ZF-Neulinge sollte das Nachimplementieren kein Problem darstellen.

Was ist der Use Case? Anstatt eines langen, beliebigen URL möchte ich nur einen kurzen Text, der an den Host-Namen gehängt wird, eingeben. Ein Beispiel: Wenn ich auf ein bestimmtes Webinar auf der Zend-Seite verknüpfen möchte, könnte der entsprechende URL wie folgt aussehen: http://www.zend.com/de/resources/webinars/php-and-cloud#PDitC. Schöner wäre es, einen kurzen Link zend.com/cloud zu verwenden. Der Pfad /cloud soll natürlich frei gewählt werden können und das Verhalten des CMS nicht verändert werden. Also brauchen wir ein Formular mit zwei Feldern (original_uri und der trim_path) zur Eingabe. Diese Werte sollten auch in einer Datenbank gespeichert werden können. Der Einfachheit halber nutzen wir SQLite. Eine Liste aller eingetragenen URLs wäre nicht schlecht, genauso wie die Möglichkeit, einzelne Einträge wieder zu löschen. Und natürlich der Redirect-Mechanismus der neuen, „virtuellen“ Pfade. Unsere App nennen wir Zhorty.

Installation und Skeleton-App

Bevor wir mit der Businesslogik von Zhorty beginnen können, müssen wir noch einige Kleinigkeit vorbereiten – im Wesentlichen brauchen wir natürlich auch den Zend-Framework-2-Code.

Zum einen brauchen wir den ZF2-Code, zum anderen möchte ich mit der offiziellen Skeleton-App arbeiten. Die eigene Applikation auf der Skeleton-App aufzusetzen, ist der empfohlene Weg, mit neuen Projekten im ZF2 zu starten. ZF2 kann man in der aktuellen Version unter [1] herunterladen. Die Skeleton-App liegt auf GitHub und wird als ZIP-Paket unter [2] bereitgestellt. Jetzt wird der eine oder andere denken: „Warum Download? Ich dachte, ZF unterstützt Composer und Pyrus?“. Das ist richtig. ZF2 stellt verschiedene Möglichkeiten bereit, ein Projekt anzulegen. Darunter auch das mittlerweile populäre Composer. Jedoch ist das auch eine Komponente, die vielleicht manch einem noch nicht geläufig ist und somit eine zusätzliche Hürde bei der Installation darstellen würde. Aus diesem Grund werden wir das Setup manuell durchführen. Und bei der Größe dieses Projekts ist dieser Aufwand auch überschaubar. Also, Skeleton-App und ZF2 ...

PHP Magazin
Einen URL-Shortener mit dem neuen Zend Framework 2 bauen

ZF2 - ein Cookbook

Gute Nachrichten für Zend-Framework-Entwickler und alle, die es werden wollen: Zend Framework ist am 6. September in der Version 2 erschienen. Und wer schon einmal in den Code reingeschaut hat oder einen Blick in die Doku geworfen hat, wird feststellen, dass sich doch einiges seit der ersten Version geändert hat. Grund genug, in einem Cookbook zu beschreiben, wie mit ZF2 losgelegt werden kann.

Jan Burkl


Als Beispielapplikation möchte ich einen einfachen URL-Shortener à la bit.ly implementieren. Der Funktionsumfang ist überschaubar, dennoch gibt es so einige spannende Punkte, die sehr elegant mit dem ZF2 gemeistert werden können. In diesem Artikel werden zwar immer wieder Verweise auf die erste Version des Zend Frameworks zu finden sein, aber auch für ZF-Neulinge sollte das Nachimplementieren kein Problem darstellen.

Was ist der Use Case? Anstatt eines langen, beliebigen URL möchte ich nur einen kurzen Text, der an den Host-Namen gehängt wird, eingeben. Ein Beispiel: Wenn ich auf ein bestimmtes Webinar auf der Zend-Seite verknüpfen möchte, könnte der entsprechende URL wie folgt aussehen: http://www.zend.com/de/resources/webinars/php-and-cloud#PDitC. Schöner wäre es, einen kurzen Link zend.com/cloud zu verwenden. Der Pfad /cloud soll natürlich frei gewählt werden können und das Verhalten des CMS nicht verändert werden. Also brauchen wir ein Formular mit zwei Feldern (original_uri und der trim_path) zur Eingabe. Diese Werte sollten auch in einer Datenbank gespeichert werden können. Der Einfachheit halber nutzen wir SQLite. Eine Liste aller eingetragenen URLs wäre nicht schlecht, genauso wie die Möglichkeit, einzelne Einträge wieder zu löschen. Und natürlich der Redirect-Mechanismus der neuen, „virtuellen“ Pfade. Unsere App nennen wir Zhorty.

Installation und Skeleton-App

Bevor wir mit der Businesslogik von Zhorty beginnen können, müssen wir noch einige Kleinigkeit vorbereiten – im Wesentlichen brauchen wir natürlich auch den Zend-Framework-2-Code.

Zum einen brauchen wir den ZF2-Code, zum anderen möchte ich mit der offiziellen Skeleton-App arbeiten. Die eigene Applikation auf der Skeleton-App aufzusetzen, ist der empfohlene Weg, mit neuen Projekten im ZF2 zu starten. ZF2 kann man in der aktuellen Version unter [1] herunterladen. Die Skeleton-App liegt auf GitHub und wird als ZIP-Paket unter [2] bereitgestellt. Jetzt wird der eine oder andere denken: „Warum Download? Ich dachte, ZF unterstützt Composer und Pyrus?“. Das ist richtig. ZF2 stellt verschiedene Möglichkeiten bereit, ein Projekt anzulegen. Darunter auch das mittlerweile populäre Composer. Jedoch ist das auch eine Komponente, die vielleicht manch einem noch nicht geläufig ist und somit eine zusätzliche Hürde bei der Installation darstellen würde. Aus diesem Grund werden wir das Setup manuell durchführen. Und bei der Größe dieses Projekts ist dieser Aufwand auch überschaubar. Also, Skeleton-App und ZF2 ...

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