PHP-Frameworks Teil VIII - Zend Framework
Werden die wichtigsten PHP-Frameworks gesucht, fällt meist auch der Name Zend Framework. Dieser Artikel zeigt den Einsatz und prüft, ob der große Name auch mit MVC gut funktioniert.

Zend ist bekannt als das PHP-Unternehmen, das von zwei Hauptentwicklern von PHP, Andi Gutmans und Zeev Suraski gegründet wurde. Dementsprechend gewichtig ist die Marktstellung mit vielen Produkten von der Entwicklungsumgebung (Zend Studio) bis zur kompletten Plattform (Zend Platform).Ein wichtig...
Zend ist bekannt als das PHP-Unternehmen, das von zwei Hauptentwicklern von PHP, Andi Gutmans und Zeev Suraski gegründet wurde. Dementsprechend gewichtig ist die Marktstellung mit vielen Produkten von der Entwicklungsumgebung (Zend Studio) bis zur kompletten Plattform (Zend Platform).Ein wichtiges Produkt in diesem Portfolio ist Zend Framework () als PHP-basiertes Rahmenwerk zur Entwicklung. Zend veröffentlicht sein Framework unter der New BSD, die im Einsatz als sehr unkritisch gilt ().
Ähnlich wie die eZ Components ist das Zend Framework nicht von Haus aus ein MVC-Framework, sondern bietet MVC-Unterstützung als eine von vielen Funktionen. Andere Funktionen, sogenannte Komponenten, haben eher Bibliothekscharakter. Aktuell ist die Version 1.9.2.
Einrichtung
Den Download für das Zend-Framework finden Sie auf der Website unter . Das Framework gibt es in drei Varianten: Das Full Package enthält neben dem Framework an sich auch Demos, Tests und das Javascript-Framework Dojo. Das minimale Paket enthält nur die Standardkomponenten des Frameworks an sich. Der Zend Server ist in der Community Edition ein vorgefertigter Anwendungsserver, der an die kostenpflichtigen Produkte von Zend angelehnt ist.
Für den Start ist das Full Package (45 MByte) empfehlenswert. Wenn Sie es heruntergeladen haben, können Sie es in ein beliebiges Verzeichnis entpacken. Um die Komponenten nun einzusetzen, reicht es, das Unterverzeichnis library in den PHP-include_path aufzunehmen.
Alternativ zur manuellen Installation können Sie das Zend Framework auch per PEAR installieren. Da dieser Artikel einen MVC-basierten Ansatz verfolgt, sind vor allem die Skripte im Verzeichnis bin von Interesse. Mit zf.sh können Sie unter Linux und am Mac die MVC-Struktur erstellen, mit zf.bat geht dasselbe unter Windows.
Der Vorteil liegt auf der Hand: Sie müssen nicht die Klassen von Hand anlegen. Die Skripte dienen auch dazu, später weitere Elemente zur Framework- MVC-Struktur hinzuzufügen. Um ein Basisprojekt zu erstellen, gehen Sie in die Konsole beziehungsweise unter Windows in die Eingabeaufforderung. Dort führen Sie den Befehl create project aus.
zf.sh create project zendframework
oder unter Windows:
zf.bat create project zendframework
Der Projektname zendframework steht hier für den Pfad, an dem Sie das Projekt anlegen möchten. Das ist natürlich der Pfad für Ihren lokalen Webserver. Unter Windows kann das bei einer Xampp-Installation etwa C:\Programme\xampp\htdocs sein:
zf.bat create project C:\
Programme\xampp\htdocs\zendframework
Allerdings ist bei der Installation mit Xampp Vorsicht geboten, denn Xampp richtet die Kommandozeilenversion von PHP nicht automatisch als ausführbar im Betriebssystem ein. Sie können, wenn Sie das nicht global ändern möchten, direkt in der zf.bat eingreifen und auf die php.exe verlinken:
:NON_PEAR_INSTALLED
REM Assume php.exe is
executable, and that zf.php will reside in the
REM same file as this one
SET PHP_BIN=C:\Programme\
xampp\php\php.exe
SET PHP_DIR=%~dp0
GOTO RUN
Die Zeile für das Setzen des Verzeichnisses PHP_DIR verweist von der zf.bat auf die zf.php, die dann die eigentlichen Befehle zum Anlegen der Projektstruktur enthält. Standardmäßig liegt sie im selben Verzeichnis, aber auch dies können Sie mit dem PHP_DIR-Pfad ändern. Wenn Sie sich die Struktur des neu angelegten Tests ansehen, finden Sie dort vier Verzeichnisse vor:
• Application, die eigentliche Anwendung. Dort werden alle MVC-Bestandteile von Controller bis Model vorgehalten. • library, das Zend Framework. Wenn Sie das library-Verzeichnis nicht im include_path von PHP zentral angelegt haben, müssen Sie nun noch alle Dateien aus dem library-Verzeichnis des entpackten Archivs in das library-Verzeichnis des gerade generierten Projekts kopieren. • public, das Verzeichnis, das nach außen hin erreichbar sein muss. Es ist der Einsprungspunkt für das MVC-Modell. • tests enthält die Unit-Tests.
