| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="learning.quickstart.intro">
- <title>Zend Framework & MVC Einführung</title>
- <sect2 id="learning.quickstart.intro.zf">
- <title>Zend Framework</title>
- <para>
- Zend Framework ist ein Open Source, objektorientierter Web Anwendungs Framework für
- <acronym>PHP</acronym> 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 (<acronym>MVC</acronym>) 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
- <ulink url="http://framework.zend.com/about/components">Komponenten Übersicht</ulink>
- gefunden werden. Dieser Schnellstart zeigt einige der am meisten verwendeten Komponenten
- vom Zend Framework, inklusive <classname>Zend_Controller</classname>,
- <classname>Zend_Layout</classname>, <classname>Zend_Config</classname>,
- <classname>Zend_Db</classname>, <classname>Zend_Db_Table</classname>,
- <classname>Zend_Registry</classname>, zusammen mit ein paar View Helfern.
- </para>
- <para>
- 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:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <ulink
- url="http://framework.zend.com/demos/ZendFrameworkQuickstart.zip">zip</ulink>
- </para>
- </listitem>
- <listitem>
- <para>
- <ulink
- url="http://framework.zend.com/demos/ZendFrameworkQuickstart.tar.gz">tar.gz</ulink>
- </para>
- </listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="learning.quickstart.intro.mvc">
- <title>Model-View-Controller</title>
- <para>
- Was also ist dieses <acronym>MVC</acronym> Pattern über das alle Welt redet, und warum
- sollte es verwendet werden? <acronym>MVC</acronym> ist viel mehr als nur ein
- drei-wortiges Acronym (<acronym>TLA</acronym>) 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
- <acronym>MVC</acronym> 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.
- </para>
- <note>
- <title>Mehr Informationen</title>
- <para>
- Brechen wir das Pattern auf und schauen wir uns die individuellen Teile an:
- </para>
- <para>
- <inlinegraphic width="321" scale="100" align="center" valign="middle"
- fileref="figures/learning.quickstart.intro.mvc.png" format="PNG" />
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis>Modell</emphasis> - 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.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>View</emphasis> - 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 <acronym>HTML</acronym> Markup
- in der eigenen <acronym>MVC</acronym> Anwendung.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>Controller</emphasis> - 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 <acronym>MVC</acronym> Experten empfehlen
- <ulink
- url="http://weblog.jamisbuck.org/2006/10/18/skinny-controller-fat-model">Controller
- so schlank wie möglich zu halten</ulink>.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Natürlich gibt es über dieses kritische Pattern <ulink
- url="http://ootips.org/mvc-pattern.html">mehr zu sagen</ulink>, aber das gesagte
- sollte genug Hintergrund vermitteln um die Guestbook Anwendung zu verstehen die wir
- bauen wollen.
- </para>
- </note>
- </sect2>
- </sect1>
|