Zend_Tool steckt immer noch in den Kinderschuhen
Dienstag, 01.06.2010Zend_Tool ist bereits seit dem Release 1.8 im Zend Framework dabei. Meine praktischen Erfahrungen damit sind bisher jedoch eher durchwachsen. Das liegt vor allem an den vielen kleinen und größeren Bugs sowie an der immer noch eher eingeschränkten Funktionalität. In Rahmen zweier Zend Framework Schulungen, die ich kürzlich gehalten habe, habe ich mich auch wieder intensiver mit Zend_Tool auseinander gesetzt.
Mein Fazit zu der Komponente bis zum Stand 1.10.5: man kann sie ganz gut verwenden, um den Grundaufbau einer neuen Zend Framework Anwendung zu erstellen. Dafür sollte man sich im Vorfeld darüber Gedanken machen, welche Module, Controller, Actions, Formulare, Modelklassen, Db-Tables, usw. man braucht. Diese kann man dann prima als Gerüst mit Zend_Tool aufbauen, um alle Dateien und Verzeichnisse dort zu haben, wo sie standardmäßig hingehören. Danach sollte man Zend_Tool für die Pflege des Projektes aber erst einmal vergessen.
Hier eine unvollständige Liste der Bugs und fehlenden Funktionen, die mich an Zend_Tool stören. Für die meisten gibt es im Issue Tracker sogar bereits passende Bugs, doch ich habe nun nicht alle passend heraus gesucht. Man möge mir verzeihen.
- Beim Anlegen eines Moduls wird das Module Directory im Front-Controller nicht in der application.ini konfiguriert.
- Beim Anlegen eines Moduls wird keine Bootstrap für dieses Modul erstellt, so dass das Autoloading für dieses Modul nicht funktioniert.
- Beim Anlegen eines Moduls muss dieses komplett in Kleinbuchstaben angegeben werden. Legt man nun für dieses Modul ein Model oder ein Formular etc. an, beginnt der Klassenname mit einem Kleinbuchstaben, also statt Shop_Model_Cart heißt die Klasse shop_Model_Cart.
- Sämtliche Klassen werden ohne PHPDoc Blöcke angelegt. Diese muss man dann selber für alle Klassen und Methoden von Hand anlegen.
- Man kann keine Controller, Aktionen, View-Skripte usw. mit Zend_Tool löschen und muss diese Änderungen von Hand übernehmen, sowohl für die eigentlichen Dateien als auch in der .zfproject.xml
- Hat man in einem Action Controller bereits etwas Code drin, kann es passieren, dass dieser zerschossen wird, wenn man weitere Aktionen hinzufügt. Neben Leerzeilen und Tabs, die ärgerlich sind, wird auch mal ein schließendes } vergessen oder dazu gepackt.
- Man kann zwar Modelklassen (und DbTables) erstellen, aber keine Datamapper und Services, obwohl die Verzeichnisse eigentlich konfiguriert werden. So muss man beim ersten Projekt erst einmal schauen, wo denn Datamapper und Service Klassen (nicht Webservices) hin kommen und wie die Klassen genau heißen. Gerade für Einsteiger etwas doof.
- Mal wird bei der Angabe des Controllers der erste Buchstabe automatisch vergrößert, mal aber auch nicht. So kann man einen Controller shop anlegen, diesen muss man dann aber bei erneuter Verwendung (z.B. Anlegen einer Aktion) mit Shop angeben. Das ist irgendwie inkonsistent.
Ok, genug des Nörgelns. Da sich diese Probleme leider nicht von alleine lösen, bin ich am Wochenende in einem ersten Schritt einmal alle Issues für Zend_Tool durchgegangen und habe geschaut, welche voraussichtlich bereits erledigt sind und welche es doppelt gibt. Dadurch wird die aktuelle Liste von 80 Issues etwas kleiner (wenn Ralph Schindler meinen Anmerkungen folgt und ein paar Issues schließt). Vielleicht finde ich ab und an mal Zeit, den einen oder anderen Bug zu fixen, dann kann sich die Komponente langsam erholt. Vielleicht fühlt sich ja auch jemand der Leser dieses Beitrags dazu ermuntert, bei Zend_Tool einmal unterstützend in die Entwicklung einzugreifen?
Denn eines ist wohl klar: diese Komponente wird in den nächsten Monaten wohl weniger Entwicklerzeit angediehen bekommen, da der Fokus zum Teil jetzt schon auf dem Zend Framework 2.0 Release liegt.
