Nach dem Erscheinen von Zend Framework 1.8 habe ich mir mal Zend_Tool näher angesehen. Dieser Teil des Frameworks bietet auf Kommandozeilenebene eine Möglichkeit des Rapid Application Development (RAD), was sich laut Wikipedia wie folgt definieren lässt:
Um Softwareentwicklungen flexibler zu gestalten und sich an schnell ändernde Anforderungen anpassen zu können, wurde in den 1980er Jahren u.a. von Barry Boehm die Idee des Rapid Application Development (RAD) entwickelt. Sie sieht ein prototypisches Vorgehen vor, bei dem Anforderungen an eine Software gesammelt und möglichst schnell in ausführbaren Code umgesetzt werden. Dieser wird dem Auftraggeber in einer relativ frühen Phase vorgelegt, um Missverständnisse bei den Anforderungen sowie hinzugekommene Anforderungen zu identifizieren. Die Änderungen werden in einer weiteren Version implementiert und wiederum vorgelegt. Diese Zyklen werden so oft durchlaufen, bis der Auftraggeber mit der Software zufrieden ist und diese abnimmt.
Werbung
Tatsächlich geht das Aufsetzen eines Projektes mit Hilfe von Zend_Tool deutlich zackiger. In diesem Artikel werde ich das derzeit aktuelle Zend_Framework 1.8.0 verwenden, in den folgenden Versionen von ZF wird da sicher noch mehr möglich sein.
Ich beginne mit dem Aufsetzen von Zend Framework, welches ich über den PEAR-Channel (Beschreibung) bezogen habe. Für alle, die das nicht so leicht machen können: Im regulären Download befindet sich das Kommandozeilentool in bin/
und lautet für Linux/Mac zf.sh
und für Windows zf.bat
. Im folgenden ist diese Datei über „zf“ erreichbar, also kann man dieses beispielsweise entsprechend verlinken oder immer den Pfad mit angeben. Schauen wir uns zunächst mal die Version des Zend Framework an:
zf show version

Jetzt schauen wir uns mal die Hilfe des Zend_Tool an, welche über den folgenden Befehl abgerufen wird:
zf --help
Derzeit sind die folgenden Provider implementiert, welche sozusagen die Programmteile oder „Fähigkeiten“ von Zend_Tool mit verschiedenen Aktionen sind. In den kommenden Versionen von Zend Framework werden diese sicher noch stark erweitert, die wichtigsten sind aber schon vorhanden:
- Version:
zf show version mode[=mini] name-included[=1]
Note: There are specialties, use zf show version.? to get specific help on them. - Phpinfo:
zf show phpinfo - Manifest:
zf show manifest - Profile:
zf show profile - Project:
zf create project path - Controller:
zf create controller name index-action-included[=1] - View:
zf create view controller-name action-name-or-simple-name - Action:
zf create action name controller-name[=index] view-included[=1] - ProjectProvider:
zf create project-provider name actions
Tippt man dagegen mal einen ungültigen Befehl ein, so wird man gleich mit einer aussagekräftigen Fehlernachricht und der Hilfeübersicht „belohnt“:
zf invalidactiontodo
zf create ?
Die Ausgabe ist im Bild zu sehen, es wird ein Hilfetext zu jedem gefundenen Provider ausgegeben, welcher die Aktion „create“ enthält.
zf create project wolfuli

cd /home/uli/wolfuli/
zf create controller foo
Bei dieser Aktion wird der Controller FooController erstellt. Gleichzeitig wird ein passendes ViewScript für die gleichzeitig erstellte IndexAction erzeugt. Desweiteren wird ein Test aufgesetzt, welcher nach Editierung per phpUnit geprüft werden könnte (es sind aber nicht gleich Tests dafür vorhanden, das würde auch keinen Sinn machen). Die Anzeige des Controllers foo im Browser zeigt folgendes:
Im FooController soll nun eine BarAction angelegt werden, was ebenfalls ganz einfach geht und wie immer die dazugehörigen ViewScripts erstellt:
zf create action bar foo
zf show profile
gibt übrigens die Ausgabe im rechten Bild aus. Es zeigt die formale Projektstruktur des aktuellen Projekts.
Ich bin mal gespannt, was in den kommenden Versionen von Zend_Tool noch kommt. Module-Support habe ich in r15386 des Zend-SVN schon gesehen, mal schauen, ob es für 1.8.1 schon in Frage kommt 🙂
2 Gedanken zu „Zend Framework 1.8: Einführung in Zend_Tool“