Das Projekt erstellen Um das eigene Projekt zu erstellen muss man zuerst Zend Framework herunterladen und extrahieren. Zend Framework installieren Der einfachste Weg um Zend Framework zusammen mit einem kompletten PHP Stack zu erhalten ist durch die Installation von Zend Server. Zend Server hat native Installationsroutinen für Mac OSX, Windows, Fedora Core und Ubuntu, sowie ein universelles Installationspaket das mit den meisten Linux Distributionen kompatibel ist. Nachdem Zend Server installiert wurde, können die Framework Dateien bei Max OSX unter /Applications/ZendServer/share/ZendFramework, bei Windows unter C:\Program Files\Zend\ZendServer\share\ZendFramework und bei Linux unter /usr/local/zend/share/ZendFramework gefunden werden. Der include_path ist dann bereits konfiguriert um Zend Framework zu verwenden. Alternativ kann man die letzte Version vom Zend Framework downloaden und dessen Inhalt extrahieren; man sollte sich notieren wo man das tut. Optional kann der Pfad zum Unterverzeichnis library/ des Archivs den eigenen include_path Einstellung in der php.ini hinzugefügt werden. Das ist es! Zend Framework ist jetzt installiert und bereit zur Verwendung. Das Projekt erstellen zf Kommandozeilen Tool In der eigenen Zend Framework Installation ist ein Unterverzeichnis bin/ welches die Skripte zf.sh und zf.bat, für Unix-basierende und Windows-basierende Benutzer enthält. Der absolute Pfad zu diesem Skript sollte notiert werden. Woimmer man einer Referenz zu zf.sh oder zf.bat sieht, sollte der absolute Pfad zum Skript substituiert werden. Auf Unix-basierenden Systemen, könnte man die Alias Funktionalität der Shell verwenden: alias zf.sh=path/to/ZendFramework/bin/zf.sh. Wenn man Probleme hat das zf Kommandozeilen Tool zu konfigurieren sollte man in das Handbuch sehen. Ein Terminal öffnen (in Windows, Start -> Run und anschließend cmd verwenden). Zum Verzeichnis in dem man das Projekt beginnen will navigieren. Anschließend den Pfad zum richtigen Skript verwenden und eines der folgenden ausführen: zf.bat create project quickstart ]]> Die Ausführung dieses Kommandos erstellt die grundsätzliche Site Struktur, inklusive den initialen Controllern und Views. Der Baum sieht wie folgt aus: Wenn man an diesem Punkt, Zend Framework dem eigenen include_path nicht hunzugefügt hat, empfehlen wir Ihn entweder in das eigene library/ Verzeichnis zu kopieren oder zu symlinken. In jedem Fall sollte man entweder das library/Zend/ Verzeichnis der Zend Framework Installation rekursiv in das library/ Verzeichnis des Projekts kopieren oder symlinken. Auf unix-artigen Systemen würde das wie folgt aussehen: Auf Windows Systemen ist es am einfachsten das vom Explorer zu tun. Jetzt da das Projekt erstellt wurde, sind die hauptsächlichen Artefakte die man verstehen sollte, die Bootstrap, die Konfiguration, die Action Controller und die Views. Die Bootstrap Die Bootstrap Klasse definiert welche Ressourcen und Komponenten zu initialisieren sind. Standardmäßig wird Zend Framework's Front Controllerinitialisiert und er verwendet application/controllers/ als Standardverzeichnis in dem nach Action Controllern nachgesehen wird (mehr davon später). Die Klasse sieht wie folgt aus: Wie man sieht ist nicht viel notwendig um zu beginnen. Konfiguration Wärend Zend Framework selbst konfigurationslos ist, ist es oft notwendig die eigene Anwendung zu konfigurieren. Die Standardkonfiguration wird in application/configs/application.ini platziert und enthält einige grundsätzliche Direktiven für die Einstellung der PHP Umgebung (zum Beispiel ein- und ausschalten der Fehlermeldungen), zeigt den Pfad zur eigenen Bootstrap Klasse (wie auch dessen Klassenname), und den Pfad zu den eigenen Action Controllern. Das sieht wie folgt aus: Verschiedene Dinge sollten über diese Datei gesagt werden. Erstens kann man, wenn INI-artige Konfigurationen verwendet werden, direkt auf Konstanten referenzieren und Sie erweitern; APPLICATION_PATH selbst ist eine Konstante. Zusätzlich ist zu beachten das es verschiedene definierte Sektionen gibt: production, staging, testing, und development. Die letzten drei verweisen auf Einstellungen der "production" Umgebung. Das ist ein nützlicher Weg die Konfiguration zu organisieren und stellt sicher das die richtigen Einstellungen in jeder Stufe der Anwendungsentwicklung vorhanden sind. Action Controller Die Action Controller der Anwendung enthalten den Workflow der Anwendung und mappen eigene Anfragen auf die richtigen Modelle und Views. Ein Action Controller sollte ein oder mehrere Methoden haben die auf "Action" enden; diese Methoden können über das Web abgefragt werden. Standardmäßig folgen Zend Framework URL's dem Schema /controller/action wobei "controller" auf den Namen des Action Controllers verweist (ohne den "Controller" Suffix) und "action" auf eine Action Methode verweist (ohne den "Action" Suffix). Typischerweise benötigt man immer einen IndexController, der ein Fallback Controller ist und auch als Homepage der Site arbeitet, und einen ErrorController der verwendet wird um Dinge wie HTTP 404 Fehler zu zeigen (wenn der Controller oder die Action nicht gefunden wird) und HTTP 500 Fehler (Anwendungsfehler). Der standardmäßige IndexController ist wie folgt: Und der standardmäßige ErrorController ist wie folgt: _getParam('error_handler'); switch ($errors->type) { case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER: case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION: // 404 Fehler -- Controller oder Action nicht gefunden $this->getResponse()->setHttpResponseCode(404); $this->view->message = 'Page not found'; break; default: // Anwendungsfehler $this->getResponse()->setHttpResponseCode(500); $this->view->message = 'Application error'; break; } $this->view->exception = $errors->exception; $this->view->request = $errors->request; } } ]]> Es ist zu sehen das (1) der IndexController keinen echten Code enthält, und (2) der ErrorController auf eine "view" Eigenschaft verweist. Das führt schon zu unserem nächsten Subjekt. Views Views werden im Zend Framework in reinem alten PHP geschrieben. View Skripte werden unter application/views/scripts/ platziert, wo Sie weiters kategorisiert werden indem der Name des Controllers verwendet wird. In unserem Fall haben wir einen IndexController und einen ErrorController, und deshalb haben wir entsprechende index/ und error/ Unterverzeichnisse in unserem View Skript Verzeichnis. In diesem Unterverzeichnissen finden und erstellen wir anschließend View Skripte die jeder ausgeführten Controller Action entsprechen; im Standardfall haben wir die View Skripte index/index.phtml und error/error.phtml. View Skripte können jedes Markup enthalten das man haben will, und verwenden das öffnende <?php Tag und das schließende ?> Tag um PHP Direktiven einzufügen. Das folgende wird standardmäßig für das index/index.phtml View Skript installiert:

Willkommen zum Zend Framework!

Das ist die Hauptseite unseres Projekts

]]>
Das error/error.phtml View Skript ist etwas interessanter da es einige PHP Konditionen verwendet: Zend Framework Standardanwendung

Ein Fehler ist aufgetreten

message ?>

env): ?>

Information der Exception:

Nachricht: exception->getMessage() ?>

Stack Trace:

exception->getTraceAsString() ?>
  

Anfrage Parameter:

request->getParams(), 1) ?>
  
]]>
Checkpoint An diesem Punkt sollte man in der Lage sein die initiale Zend Framework Anwendung auszuführen. Es sollte ein virtueller Host im eigenen Web Server erstellt werden und dessen Document Rook sollte auf das Unterverzeichnis public/ der eigenen Anwendung zeigen. Man sollte sicherstellen das der eigene Hostname im eigenen DNS oder in der hosts Datei ist, und anschließend den Browser darauf zeigen lassen. An diesem Punkt sollte man in der Lage sein die Startseite zu sehen.