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.