Archiv für Juli 2009

Skripte angepasst für Zend Framework 1.8.4

Mittwoch, 22.07.2009

Endlich ist es soweit und ich hatte Zeit, die Skripte aus dem Zend Framework Buch auf das neue Zend Framework 1.8.4 anzupassen. Das große Problem bei meinem Buch ist die Tatsache, dass es auf dem Zend Framework 1.7.4 basiert. Das war die bei Drucklegung aktuelle Version. Da so ein Buch zu drucken aber seine Zeit dauert und die Entwicklung des Frameworks stetig voran schreitet, ist ein Buch hinsichtlich der unterstützen Version meistens bei Erscheinen veraltet. Ich habe mir beim Schreiben aber große Mühe gegeben, dass die meisten Infos längerer Zeit gültig sind. Daher auch die regelmäßigen Verweise auf das meistens aktuellere Referenzhandbuch, wenn man spezielle Funktionen im Detail nachschlagen möchte. Wie die Leser wissen, bin ich sogar im Anhang auf einige neue Komponenten im Release 1.8 eingegangen, soweit dies zum damaligen Zeitpunkt überhaupt möglich war.

Doch ich habe die Rechnung ohne das Entwicklerteam gemacht, denn eine Änderung hat bei den meistens Setups vom Zend Framework doofe Notices ausgegeben. Ich denke, ihr wisst schon was ich meine: “Zend_Loader::registerAutoload is deprecated as of 1.8.0 and will be removed with 2.0.0; use Zend_Loader_Autoloader instead“. So laufen die Beispielanwendungen auf der CD-Rom zum Buch bei vielen nicht mehr, wenn man ein Release aus dem 1.8 Zweig einsetzt und das Error-Reporting entsprechend so eingestellt hat, dass diese Notice ausgegeben wird.

Ich habe nun alle Beispielanwendungen auf Lauffähigkeit mit dem aktuellen 1.8.4 Release hin überprüft und ggf. angepasst. Die Änderungen betreffen im Wesentlichen die Beispielanwendungen in folgenden Verzeichnissen:

/kapitel03/schnellstart/
/kapitel13/ajax/
/kapitel19/luigiblog/
/kapitel20/luigiguestbook/
/kurzlinks/

Geändert wurde vor allem der veraltete Aufruf von Zend_Loader::registerAutoload nach Zend_Loader_Autoloader::getInstance(), wobei bei Bedarf auch ein entsprechende Namespace definiert wird. Siehe auch im Manual. Zudem werden bei Bedarf auch die neuen Autoloader Ressourcen zum Laden von Models, Formularen usw. eingesetzt (siehe auch im Manual). Dabei mussten auch einige Dateien verschoben und Klassen umbenannt werden. So heisst eine Modelklasse z.B. nicht mehr Guestbook, sondern App_Model_Guestbook. Die fünf genannten Beispielanwendungen funktionieren somit wieder und auch die Unit-Tests in Kapitel 20 laufen wieder fehlerfrei durch.

Nicht geändert sind die alten Bootstrap-Dateien. Also ich habe Zend_Application nicht für das Bootstrapping eingesetzt. Wichtig war mir erst einmal, dass die Skripte wieder lauffähig werden, wenn ihr eine neuer Version einsetzt. Und nun könnt ihr die Dateien endlich downloaden. Ich hoffe, der Server hält das aus… ;-)

Feedback ist erbeten!

Die 10. Rezension

Freitag, 17.07.2009

Bei Amazon sind mittlerweile 10 Rezensionen für das Zend Framework Buch eingegangen. Mit dem Schnitt von 4,5 Sternen bin ich mehr als zufrieden. Hatte mir vorher einen glatten 4 Sterne Schnitt erhofft. Also alles Friede, Freude, Eierkuchen? Nein, nicht ganz. Denn die 10. und bisher letzte Rezension gibt mir doch etwas zu denken. Timo gefiel das Buch nämlich nicht so besonders. Natürlich wäre es vermessen zu glauben, dass man mit einem Buch den Geschmack aller treffen könne. Und vermessen zu sein, entspricht sicherlich nicht meiner Natur.

Einige der Kritikpunkte sind sicher berechtigt, besonders was diese Website hier betrifft. Ich hatte vorab auch gehofft, mehr Zeit in die buchbegleitende Website investieren zu können. Die letzten Monate haben aber gezeigt, dass mir dies nicht möglich war. Ich möchte auch gar nicht lange über die diversen Gründe lamentieren (Umzug privat und Firma, Geburt Tochter, mit Aufträgen drohende Kunden, Frühling und Sommer). Ich werde aber dennoch versuchen, daran bald etwas zu ändern. So werde ich in den nächsten Tagen die für das aktuelle Zend Framework Release überarbeiteten Skripte bereit stellen und auch mal im Forum mehr Präsenz zeigen. Zudem werde ich die Beispielanwendung für Luigis Blog sowie die Anwendung für die Kurzlinks hier online stellen, weil danach gefragt wurde. Das aber Schritt für Schritt.

Aber noch zu ein paar anderen Punkten aus Timos Kritik bei Amazon. Dass das einführende Projekt in der Schnellanleitung für manche zu langweilig ist, kann ich nachvollziehen. Es ist aber eben auch als Schnelleinstieg gedacht, so dass dort nicht viel Aufregendes passieren kann. Gerade Einsteiger möchten schnell die wesentlichen Komponenten kennen lernen und den meisten hat der Schnellstart aus Kapitel 3 sehr geholfen. Spannung sollte da der Einstiegs ins Zend Framework bieten und nicht die Anwendung selbst. Natürlich liegt auch bei Teil II immer der Vergleich zum Referenzhandbuch des Zend Frameworks nahe. Dies liegt aber in der Natur der Sache, wenn man alle Komponenten des Frameworks vorstellen möchte. Ich habe mich in Teil II aber dennoch bemüht, möglichst neue Beispiele zu finden, mich auf das Wesentliche zu beschränken und auch den Blick nach links und rechts zu anderen Komponenten zu wagen. Anscheinend ist mir dies aus Timos Sicht nicht so gut gelungen.

Dass in Kapitel 19 die Bootstrap-Datei ohne jede Erklärung hingeklatscht wurde, ist aber schlichtweg falsch. Zum einen gibt es Verweise auf die einleitenden Kapitel zur Bootstrap-Datei. Es macht halt keinen Sinn, alles bisher Erläuterte doppelt zu erklären, denn dann hätte Kapitel 19 bestimmt 200 Seiten lang sein müssen. Zum anderen folgen nach dem Listing noch Erläuterungen zu den Besonderheiten dieser Bootstrap-Datei. Die Aussage “ohne jede Erklärung” wurde von Timo also im Prinzip auch nur “hingeklatscht” ;-)…

Die Kritik aus dem dritten Absatz unterschreibe ich aber vollkommen und wie eingangs erwähnt, versuche ich dies in naher Zukunft zu ändern. Ob es aber wirklich die zweitschlechteste Website zu einem Buch ist, lässt sich nur nachvollziehen, wenn wir wüssten, welche anderen Buchwebsites Timo kennt. ;-)

Übrigens warte ich selber auch auf die nächsten Bücher zum Zend Framework. Mein überarbeitetes wird erst zum 2.0 Release erscheinen und sicherlich auch erst einige Zeit nach deren Erscheinen.