Zend Framework & MVC Einführung
Zend Framework
Zend Framework ist ein Open Source, objektorientierter Web Anwendungs Framework für
PHP 5. Zend Framework wird oft eine "Komponentenbibliothek" genannt,
weil er viele lose verbundene Komponenten hat die man mehr oder weniger unabhängig
verwenden kann. Aber Zend Framework bietet auch eine fortgeschrittene
Model-View-Controller (MVC) Implementation die verwendet werden kann
um eine Basisstruktur für eigene Zend Framework Anwendungen zu sein. Eine komplette
Liste der Komponenten des Zend Frameworks mit einer kurzen Beschreibung kann in der
Komponenten Übersicht
gefunden werden. Dieser Schnellstart zeigt einige der am meisten verwendeten Komponenten
vom Zend Framework, inklusive Zend_Controller,
Zend_Layout, Zend_Config,
Zend_Db, Zend_Db_Table,
Zend_Registry, zusammen mit ein paar View Helfern.
Durch Verwendung dieser Komponenten bauen wir eine einfache Datenbank-gesteuerte
Guest Book Anwendung in wenigen Minuten. Der komplette Quellcode für diese Anwendung ist
in den folgenden Archiven vorhanden:
zip
tar.gz
Model-View-Controller
Was also ist dieses MVC Pattern über das alle Welt redet, und warum
sollte es verwendet werden? MVC ist viel mehr als nur ein
drei-wortiges Acronym (TLA) das man erwähnen kann wann immer man
smart erscheinen will; es ist so etwas wie ein Standard bei der Erstellung von modernen
Web Anwendungen. Und das aus gutem Grund. Der Code der meisten Web Anwendungen fällt in
einer der folgenden drei Kategorien: Präsentation, Business Logik, und Datenzugriff. Das
MVC Pattern modelliert diese Trennung bereits sehr gut. Das
Endergebnis ist, das der Präsentationscode in einem Teil der Anwendung konsolidiert
werden kann, die Business Logik in einem anderen Teil und der Code für den Datenzugriff
wieder in einem anderen. Viele Entwickler finden diese gut definierte Trennung
unentbehrlich um deren Code organisiert zu halten, speziell wenn mehr als ein Entwickler
an der gleichen Anwendung arbeitet.
Mehr Informationen
Brechen wir das Pattern auf und schauen wir uns die individuellen Teile an:
Modell - Dieser Teil der eigenen Anwendung definiert
die grundsätzliche Funktionalität in einem Set von Abstraktionen.
Datenzugriffs Routinen und etwas Business Logik kann im Model definiert
sein.
View - Views definieren was exakt dem Benutzer
präsentiert wird. Normalerweise übergeben Controller Daten in jede View
damit Sie in einem Format dargestellt werden. Views sammeln auch oft Daten
vom Benutzer. Dort findet man üblicherweise HTML Markup
in der eigenen MVC Anwendung.
Controller - Controller verbinden das komplette
Pattern. Sie manipulieren Modelle, entscheiden welche View, basieren auf der
Benutzeranfrage und anderen Faktoren, angezeigt werden soll übergeben die
Daten welche jede View benötigt, oder übergeben die Kontrolle komplett an
andere Controller. Die meisten MVC Experten empfehlen
Controller
so schlank wie möglich zu halten.
Natürlich gibt es über dieses kritische Pattern mehr zu sagen, aber das gesagte
sollte genug Hintergrund vermitteln um die Guestbook Anwendung zu verstehen die wir
bauen wollen.