Geleitwort des Fachgutachters
Frameworks haben in der Welt von PHP in letzter Zeit einen beachtenswerten Aufschwung erlebt. Woran mag das liegen?
Zum einen sicherlich daran, dass bei den beiden »konkurrierenden« Skriptsprachen Ruby und Python mit Ruby on Rails respektive Django Frameworks Einzug gehalten haben. Sie machen aus beiden Sprachen, deren ursprünglicher Schwerpunkt nicht auf Webanwendungen lag, wie das bei PHP der Fall ist, praktische und gern benutzte Werkzeuge für das »allgegenwärtige« Web 2.0 – und natürlich auch für all diejenigen Anwendungen, die sich von diesem Phänomen lossagen können. Verständlich also, dass sich PHP diesem Trend nicht verweigern kann und will.
Zum anderen sind da die vielfältigen Verbesserungen an den objektorientierten Funktionalitäten von PHP selbst, die seit der Freigabe von PHP 5 ausgeklügelte und auf objektorientierten Entwurfsmustern basierende Frameworks erst möglich gemacht haben.
Und zu guter Letzt darf man auch die Infrastruktur von PEAR nicht vergessen, durch die es für Entwickler und Administratoren immer einfacher wird, Frameworks und sonstige Codefragmente zu beziehen und auf dem neuesten Stand zu halten.
Ein guter Nährboden also für das Wachstum von PHP-Frameworks. Doch man muss sich auch die Frage stellen, ob Frameworks für PHP wirklich notwendig sind. Durch den Zuschnitt der Sprache auf die Lösung von Webproblemen ist es für viele Anwender und deren Projekte oftmals ausreichend, mit den Bordmitteln von PHP und eigenen kompakten Komponenten-Bibliotheken zu arbeiten. Diese Vorgehensweise hat gut funktioniert, bis Frameworks die Aufmerksamkeit erhielten, die sie heute haben, und es gibt keinen Grund, warum dies in Zukunft anders sein sollte.
Trotzdem bin ich fest davon überzeugt, dass Frameworks eine gute Sache sind. Zu viele bekannte PHP-Anwendungen sehen einem Teller Spaghetti ähnlicher als einer gut wart- und erweiterbaren Applikation. Viele finden regelmäßig Erwähnung auf einschlägigen Mailinglisten zum Thema »Sicherheit von Webanwendungen«, da wieder einmal Sicherheitslücken bei den Benutzern zur Verfügung gestellten Eingabeparametern gefunden wurden. Und jeder Nutzer von PHP hat sicherlich schon einmal verzweifelt vor der Aufgabe gestanden, mehrere Jahre – manchmal reichen auch ein paar Monate – alte Anwendungen um neue Funktionalitäten zu erweitern. Was bei der Entstehung schnell von der Hand ging, entpuppt sich später als schwer verständliche und eher zufällige Ansammlung von ASCII-Zeichen in PHP-Dateien.
Natürlich werden diese Probleme durch die Verwendung eines Frameworks nicht von selbst verschwinden. Das wäre auch zu einfach. Aber Frameworks können helfen, durch Vorgaben zur Strukturierung einer Anwendung und durch Hilfestellungen bei der Erfassung und Überprüfung von Eingabeparametern Anwendungen mittel- oder langfristig einfacher und sicherer zu machen. Und das ist doch schon einmal etwas.
Die beiden Autoren Tobias Schlitt und Kore Nordmann beschäftigen sich in ihrem Buch mit dem Framework eZ Components des norwegischen IT-Hauses eZ Systems. Entstanden als Grundlage für das Content-Management-System eZ Publish, handelt es sich dabei um eines der wenigen Frameworks, die von kommerziell orientieren Unternehmen aktiv entwickelt und unterstützt werden.
Tobias Schlitt und Kore Nordmann sind langjährige Kenner der PHP-Szene und anerkannte Experten. Neben ihrer Arbeit an eZ Components engagieren sich beide im PEAR-Projekt und sind gern gesehene Redner auf den einschlägigen Konferenzen zum Thema PHP. Man hat es also mit zwei Autoren zu tun, die ihr Handwerk verstehen und die durch ihre enge Einbindung in die Entwicklung bei eZ Systems wissen, wovon sie sprechen. Das Buch, das Sie gerade in den Händen halten, ist das erste deutschsprachige Buch zum Thema eZ Components überhaupt.
Wie Sie sicherlich schon am Umfang bemerkt haben, es ist ein sehr ausführliches Werk geworden. Für Einsteiger sind vermutlich die konkreten Anwendungsbeispiele und die Anleitung zum Setup des Frameworks von besonderem Interesse. Fortgeschrittene Anwender werden sich sicherlich darüber freuen, dass auch die Architektur und Möglichkeiten zur Erweiterung um eigene Funktionalitäten zur Sprache kommen.
Dabei beleuchten die Autoren alle Aspekte, die für moderne Webanwendungen aus Sicht des Servers von Interesse sind: Angefangen bei der Kommunikation mit Datenbanken, ohne die heutzutage (fast) nichts mehr auskommt, über den Einsatz von Template-Sprachen und Hilfsmittel zur Internationalisierung bis hin zur Erzeugung von Diagrammen und Charts und der Bearbeitung von Bildern kommt nichts zu kurz, was eZ Components zu bieten hat. Auch eher leidige und gern vernachlässigte Themen wie Caching, das Protokollieren von Statusmeldungen der Anwendung sowie die Erfassung und Überprüfung von Eingabeparametern werden angesprochen.
Und weil eine PHP-Anwendung oftmals nicht nur aus über den Webbrowser abrufbaren Funktionen besteht, beleuchten die beiden Autoren auch auf den ersten Blick eher »exotisch« anmutende Themen wie den Einsatz von PHP auf der Konsole und die damit verbundenen Probleme. Jeder, der bei seiner Arbeit auf der Unix-Shell nicht stets auf das übermächtige Perl oder auf Shell-Skripte zurückgreifen möchte, findet im entsprechenden Kapitel sicherlich hilfreiche Funktionalitäten.
Doch machen Sie sich am besten selbst ein Bild davon, was die eZ Components zu bieten haben.
Viel Spaß bei der Lektüre!
Martin Jansen Aachen



Ihre Meinung






