<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>zietlow.net &#187; PHP</title>
	<atom:link href="http://www.zietlow.net/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zietlow.net</link>
	<description>Web Entwicklung, Selbstmanagement und einiges aus meiner (subjektiven) Welt</description>
	<lastBuildDate>Thu, 11 Jun 2009 09:27:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>PHP wie ausführen (per mod_php, CGI oder FastCGI)?</title>
		<link>http://www.zietlow.net/php/php-wie-ausfuhren-per-mod_php-cgi-oder-fastcgi/57/</link>
		<comments>http://www.zietlow.net/php/php-wie-ausfuhren-per-mod_php-cgi-oder-fastcgi/57/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 19:14:54 +0000</pubDate>
		<dc:creator>Francois</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.zietlow.net/?p=57</guid>
		<description><![CDATA[Ein kurzer Beitrag: Ich bin auf einen interessanten Artikel gestoßen, der sich um das Thema annimmt und die grundsätzlichen Vor- &#38; Nachteile auflistet. http://wiki.rootforum.de/scripting/php/mod_php_vs_php-cgi]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Ein kurzer Beitrag: Ich bin auf einen interessanten Artikel gestoßen,<br />
der sich um das Thema annimmt und die grundsätzlichen Vor- &amp; Nachteile auflistet.</p>
<p><a href="http://wiki.rootforum.de/scripting/php/mod_php_vs_php-cgi">http://wiki.rootforum.de/scripting/php/mod_php_vs_php-cgi</a></p>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.zietlow.net/php/php-wie-ausfuhren-per-mod_php-cgi-oder-fastcgi/57/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guter Einsieg in das Zend Framework- Buchempfehlung</title>
		<link>http://www.zietlow.net/zend-framework/guter-einsieg-in-das-zend-framework-buchempfehlung/54/</link>
		<comments>http://www.zietlow.net/zend-framework/guter-einsieg-in-das-zend-framework-buchempfehlung/54/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 21:50:47 +0000</pubDate>
		<dc:creator>Francois</dc:creator>
				<category><![CDATA[Softwareentwicklung]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[buch]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.zietlow.net/?p=54</guid>
		<description><![CDATA[Lange ist der letzte Beitrag her aber das liegt weniger an meiner derzeitigen Untätigkeit, mehr an dessen Gegenteil. Wie in den letzten Posts geschrieben interessiere ich mich für das Zend Framework und habe damit auch schon mehr zu tun gehabt. Obwohl ich darin doch mittlerweile mich recht gut auskenne bin ich immer wieder auf Entdeckungsreise [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Lange ist der letzte Beitrag her aber das liegt weniger an meiner derzeitigen Untätigkeit, mehr an dessen Gegenteil. <img src='http://www.zietlow.net/content/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Wie in den letzten Posts geschrieben interessiere ich mich für das Zend Framework und<br />
habe damit auch schon mehr zu tun gehabt.<br />
Obwohl ich darin doch mittlerweile mich recht gut auskenne bin ich immer wieder auf Entdeckungsreise wie man Aufgaben damit lösen kann.<br />
Vor kurzem habe ich mir das Buch &#8220;Zend Framework in Action&#8221; bestellt und möchte einen kurzen und knappen Bericht darüber abliefern.<span id="more-54"></span></p>
<hr />
<h2>Grober Aufbau des Buches</h2>
<p>Im ersten Teil wird der Grundaufbau des Frameworks benannt und<br />
Fragen nach warum, was und der Zend Philisophy beantwortet,<br />
sowie eine erste &#8220;Hello Zend Framework&#8221; Anwendung geschrieben.</p>
<p>Der zweite Teil handelt darum eine Website zu bauen,<br />
in der man sich einen Tagesplan mit Kindern zusammenstellen kann, Orte empfehlen und Berwerten kann.<br />
Darin dürchläuft man anhand dieses Beispiels folgende Komponenten: View, Ajax, Datenbankbehandlung, Benutzerauthentifizierung, Formulargenerierung, Suche und EMail.</p>
<p>Der dritte Teil fasst verschiedene weitere Komponenten zusammen<br />
mit dem die erstelle Anwendung im zweiten Kapitel erweitert werden kann.</p>
<p>Es exitieren drei Appendixe, die kurz einige PHP Grundlagen wiederholen, knackig zusammengefasst das OO PHP aufzeigen und noch ein Bereich Tips und Tricks mit den Inhalten ZF Module, Groß-Kleinschreibung bei URLs, Routing,  Zend_Log, Zend_Debug und Zend_Db_Profiler.</p>
<h2>Meine Meinung</h2>
<p>Das Buch eigenet sich gut für Eisnteiger, die das Online Quick-Tutorial durchgenommen haben und<br />
jetzt weiter geführt mehr in die Tiefe gehen möchten.</p>
<p>Auch wenn das Buch nur in englisch geschrieben ist, es ist gut verständlich und mit viel Code versehen.</p>
<p>Der Quellcode kann online heruntergeladen werden (für das einzelne Kapitel aber auch die Endversion) und<br />
ein nettes Extra stellt das ebook dar, das man sich ebenso online herunterladen kann.</p>
<p>Für alle die gerne mal probelesen, auf der Buch-Website werden zwei Kapitel (Hello World Applikation erstellen und Zend_Mail Einführung) kostenlos angeboten.</p>
<h2>Links</h2>
<ul>
<li><a href="http://www.amazon.de/Zend-Framework-in-Action/dp/1933988320/ref=sr_1_1?ie=UTF8&amp;s=books-intl-de&amp;qid=1236116950&amp;sr=8-1">Buch bei Amazon</a></li>
<li><a href="http://www.manning.com/ZendFrameworkinAction">Website des Buches (2 kostenlose Kapitel + der Quellcode)</a></li>
</ul>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.zietlow.net/zend-framework/guter-einsieg-in-das-zend-framework-buchempfehlung/54/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MVC (Model–View–Controller) im Zend Framework</title>
		<link>http://www.zietlow.net/zend-framework/mvc-model%e2%80%93view%e2%80%93controller-im-zend-framework/16/</link>
		<comments>http://www.zietlow.net/zend-framework/mvc-model%e2%80%93view%e2%80%93controller-im-zend-framework/16/#comments</comments>
		<pubDate>Sun, 06 Jan 2008 20:00:18 +0000</pubDate>
		<dc:creator>Francois</dc:creator>
				<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.zietlow.net/zend-framework/mvc-model%e2%80%93view%e2%80%93controller-im-zend-framework/16/</guid>
		<description><![CDATA[Ziel ist es das MVC Prinzip und dessen Umsetzung im Zend Framework zu verstehen. Damit wird die Grundlage für die Entwicklung im Zend Framework gesetzt &#8211; Unabhängig der Version. Sinn eines Software-Architekturmusters Software gleicht an vielen Stellen dem Hausbau. Ab und an leider auch dem Städtebau&#8230; Wenn wir – als Programmierer (Maurer) oder Software-Architekt / [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Ziel ist es das MVC Prinzip und dessen Umsetzung im Zend Framework zu verstehen.<br />
Damit wird die Grundlage für die Entwicklung im Zend Framework gesetzt &#8211; Unabhängig der Version.<span id="more-16"></span></p>
<hr />
<h2>Sinn eines Software-Architekturmusters</h2>
<p>Software gleicht an vielen Stellen dem Hausbau. Ab und an leider auch dem Städtebau&#8230;<br />
Wenn wir – als Programmierer (Maurer) oder Software-Architekt / Entwickler (Architekt) – eine Software „bauen“ möchten, sollten wir uns am Anfang einen Plan dieser Software machen</p>
<p>Software-Architekturmuster stellen uns für den Plan und für den Bau ein Grundgerüst zur Verfügung, nach dem wir die Software logisch aufbauen können.<br />
Sie sind aber keine Garantie für eine stabile und sichere Anwendung, da es sich um ein logisches Konzept handelt.</p>
<p>Vorteile und Ziele eines Architekturmusters:</p>
<ul>
<li>Architekturmuster schaffen Ordnung</li>
<li>Die Kommunikation wird vereinfacht</li>
<li>Einmal erlernt, ist der Aufbau der Software logisch</li>
<li>Leichte Erweiterbarkeit</li>
<li>Leichte Änderbarkeit</li>
<li>Möglichkeit zur Wiederverwendung von Code</li>
</ul>
<p>Nach Architekturmuster können Software-Anwendungen entwickelt werden.<br />
Oft kommt hierfür ein Framework zum Einsatz, welches nach dem Architekturmuster entwickelt wurde und die Umsetzung und Einhaltung dieses Architekturmusters vereinfacht.</p>
<p>Eines der meist verwendeten Software-Architekturmuster ist das MVC (Model-View-Controler),<br />
welches näher beschrieben werden soll.</p>
<h2>Grundaufbau des MVC</h2>
<p>Das MVC Architekturmuster gibt drei Trennungen vor:</p>
<ul>
<li><strong>M</strong>odel (Modell)</li>
<li><strong>V</strong>iew (Präsentation)</li>
<li><strong>C</strong>ontroller (Steuerung)</li>
</ul>
<h3>Model (Modell)</h3>
<p>Zuständigkeit des Models:</p>
<ul>
<li>Daten<br />
Beispiel: aus einer Datenbank werden Daten abgefragt.</li>
<li>Geschäftslogik<br />
Beispiel: „Wenn Produkt MwSt-Pflichtig, dann schlage 19% drauf.“</li>
</ul>
<h3>View (Präsentation)</h3>
<p>Zuständigkeit der View:</p>
<ul>
<li>Anzeige von Daten (aus dem Model)</li>
<li>Anzeigelogik<br />
Beispiel: „Wenn diese Kennzahl so, dann zeige Schaltfläche X an.„</li>
<li>Benutzerinteraktion bereitstellen<br />
Schaltflächen, Textfelder etc.</li>
</ul>
<h3>Controller (Steuerung)</h3>
<p>Zuständigkeit des Controllers:</p>
<ul>
<li>Verwaltet Views</li>
<li>Steuert wann welche View angezeigt wird</li>
<li>Verwaltet Benutzereingaben<br />
Gibt diese an die View weiter</li>
</ul>
<h3>Zusammenspiel in klassischen Fenster Applikationen</h3>
<p>In klassischen Fenster-Applikationen bilden Controller und View die Benutzeroberfläche,<br />
da der Controller die Eingaben entgegen nimmt, diese ans Fenster (View) weiterleitet.<br />
Die View kennt dabei sein Model und leitet die Eingabe zur Bearbeitung weiter.<br />
Grund hierfür ist, dass die Entwicklung oft hinter einem optischen Objekt (z.B. einer Schaltfläche)  in einer Methode (z.B. „Klick auf die Schaltfläche“) steckt.<br />
Diese Methode kommuniziert dann mit dem Model.</p>
<p>Das ergibt oft folgende Kommunikation:</p>
<p>Controller &lt;-&gt; View &lt;-&gt; Model</p>
<h3>Zusammenspiel in Web-Anwendungen / im Zend Framework</h3>
<p>In Web-Anwendungen steckt hinter einer Schaltfläche erst einmal noch keine direkte Logik.<br />
Das drücken dieser Schaltfläche wird erst an den Server übertragen, der wiederum,<br />
muss hierfür eine passende Aktion ausführen und sendet ein Ergebnis zurück.</p>
<p>Im Zend Framework ergibt sich daraus folgende Kommunikation:</p>
<p>Model -&gt; Controller &lt;-&gt; View</p>
<p>Die View greift &#8211; idealerweise &#8211; auf die Daten aus dem Model nur zu,<br />
wenn der Controller diese übergeben hat,<br />
dadurch entsteht keine direkte Kommunikation zwischen Model und View.</p>
<p>Hinweis: Es gibt mittlerweile Web-Entwicklungen die das den klassischen Fenster Applikationen gleich machen (Microsoft ASP .NET und in Anlehnung daran das PHP Framework Prado).<br />
Diese lassen sich – fasst – so wie Fenster-Anwendungen entwickeln und setzen das intern wieder so um, dass das auch im Web funktioniert.</p>
<h2>Voraussetzung: OOP</h2>
<p>Nachfolgend geht es um die konkrete MVC Umsetzung im Zend Framework.<br />
Hierfür sollte OOP (Objektorientierte Programmierung) und alle damit verwendeten Begriffe kein Fremdwort sein. Als Auffrischung empfehle ich den <a href="http://de.wikipedia.org/wiki/Objektorientierte_Programmierung">Wikipedia Eintrag zu OOP</a>.</p>
<p><strong>Für Diejenigen die sich mit OOP noch gar nicht auskennen:</strong><br />
Generell ist es sinnvoll / notwendig sich das OOP Prinzip an zueignen, wenn man das MVC Prinzip nicht nur konzeptionell sondern auch die technische Umsetzung verstehen möchte.<br />
Die Umsetzung von MVC basiert meistens immer auf dem OOP Konzept.</p>
<p><strong>Für Diejenigen die OOP kennen</strong>, kann ich nur empfehlen sich mit Design Patterns (Entwurfsmustern) zu beschäftigen. Es erleichtert das Zend Framework zu verstehen und ist natürlich auch für eigene Entwicklungen extrem nützlich – wenn man auf OOP setzt&#8230;</p>
<h2>MVC im Zend Framework</h2>
<p>Das Zend Framework ist nach dem MVC Architekturmuster aufgebaut.<br />
Die MVC Theorie sollte klar sein, ab hier wird jetzt die technische Umsetzung im Zend Framework beschrieben.</p>
<h3>Model</h3>
<p>Derzeit – und ich denke auch in Zukunft – gibt es keine generelle Komponente für das Model.<br />
Wir wissen, dass das Model die Geschäftslogik und die Daten beinhaltet.</p>
<p>Bei dem Model handelt es sich also um Klassen, die Daten aus Datenbanken, Web Services, Feeds, Konfigurationsdateien, Dateisystem und anderen Quellen „her holen“ und diese – je nach Geschäftslogik – verarbeiten.<br />
Das ist meist so individuell das es keinen Sinn macht das Model vorzuschreiben.</p>
<p>Doch das Zend Framework bietet für die verschiedensten Zugriffe Unterstützung an, zum Beispiel:</p>
<ul>
<li>Zend_Db: auf Datenbanken zuzugreifen</li>
<li>Zend_Service_*: Entsprechenden Webservices aufrufen</li>
<li>Zend_Config: Konfigurationsdateien auszulesen</li>
<li>&#8230;</li>
</ul>
<h3>View</h3>
<p>Standardmäßig gibt es die Klasse Zend_View, die als Template Engine PHP verwendet und vom Anfang an aktiv ist.<br />
Eine eigene View kann erstellt werden, Sie muss lediglich das Interface Zend_View_Interface implementieren.<br />
Ich gehe jedoch bei der kommenden Beschreibung von der Zend_View und deren Standradkonfiguration aus.</p>
<p>Die Zend_View hat die Aufgabe die View Scripts zu verarbeiteten, die für uns den View Part im MVC Modell darstellen.</p>
<h4>View Scripts</h4>
<p>Die eigentliche Anzeige und die Anzeigelogik befindet sich in den View Scripts.</p>
<ul>
<li>Befinden sich im Verzeichnis:<br />
„application/views/scripts“</li>
<li>Endung „.phtml“, deutet an das sich darin PHP und HTML 	befindet.</li>
<li>Ausgabe von Variablen: &lt;?=$this-&gt;content ?&gt;</li>
<li>View Helpers:
<ul>
<li>Erweitern die Funktionalität von Zend_View</li>
<li>Aufruf wie eine Methode von Zend_View<br />
&lt;?= 		$this-&gt;formText(&#8216;username&#8217;) ?&gt;</li>
<li>Eigene View Helper könnten geschrieben werden</li>
<li>Anwendungsmöglichkeiten:
<ul>
<li>Datenabruf (z.B. Hinzufügen eines del.icio.us Feeds)</li>
<li>Umändern der Ausgabe (z.B. Wikitext in HTML 			konvertieren)</li>
<li>Anzeigelogik (z.B. Anzeigen des Logins, wenn nicht 			angemeldet)</li>
<li>Wiederverwendbare Ausgaben (z.B. eine Suchbox)</li>
</ul>
</li>
</ul>
</li>
<li>Filter
<ul>
<li>Kann den Inhalt vor der Ausgabe filtern</li>
<li>Es können eigene Filter geschrieben werden</li>
<li>Anwendungsmöglichkeiten:
<ul>
<li>Inhalt von HTML zu PDF umwandeln</li>
<li>Inhalt von HTML zu JSON umwandeln</li>
<li>HTML über Tidy laufen lassen</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>Controller</h3>
<p>Im Zend Framework ist das der Action Controller:</p>
<ul>
<li>Verwaltet die Anfrage</li>
<li>besteht aus mehreren Actions</li>
<li>Aktion
<ul>
<li> öffentliche Mehtode</li>
<li> Aufbau des Namens: [Name]Action</li>
<li>„indexAction“ wird aufgerufen 		falls keine Action angegeben ist</li>
<li>„init“ wird bei der 		Initialisierung aufgerufen</li>
<li>definiert welches View Skript 		ausgegeben werden soll<br />
(Std: [Controllername]/[Actionname] im 		View Script Verzeichnis)</li>
<li>Kommuniziert mit dem Model</li>
<li>leitet Daten – z.B. aus dem 		Model oder Request – an die View</li>
<li>Action Helper,
<ul>
<li> Wiederverwendbare 			Funktionalitäten</li>
</ul>
<ul>
<li>Aufruf aus allen Action 			Controllern heraus</li>
</ul>
<ul>
<li>Automatische Prozesse die in den 			Action Controllern ausgeführt werden<br />
(über die init 			oder die preDispatch Methode)</li>
</ul>
<ul>
<li>Initialisierung bei der 			Benutzung (on demand) oder nach Registrierung</li>
</ul>
<ul>
<li>Funktionalitäten die man 			später auslagern möchte</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>Zusammenspiel</h3>
<p>Das grundlegende Zusammenspiel wurde oben schon beschrieben,<br />
hier geht es wieder um die technischere Umsetzung.</p>
<h4>Alles hat einen Anfang – die Bootstrap-Datei</h4>
<p>Eine Datei muss die Startdatei der Applikation sein,<br />
diese Datei nennt sich im Zend Framework „Bootstrap“ (Lader / Ladeprogamm) bezeichnet.</p>
<p>Aufgaben der Bootstrap-Datei:</p>
<ul>
<li>Benötigte Skripte einbinden (include_once&#8230;)</li>
<li>Evtl. Konfigurationsdateien einlesen</li>
<li>Objekt-Initialisierung</li>
</ul>
<h4>Controller sollen aufgerufen werden – der Front Controller</h4>
<p>Das Zend Framework bietet Standard an, wie Controller und dessen Aktionen aufgerufen werden können. Im Standard schaut die URL wie folgt aus:<br />
[Controllername]/[Actionname]/[Parametername1]/[Parameterwert1]/[usw.]</p>
<p>Damit jetzt auch der entsprechende (Action) Controller und die entsprechende Aktion aufgerufen werden, gibt es den Front Controller.</p>
<p>Aufgaben des Front Controllers:</p>
<ul>
<li>Verwaltet die Anfragen</li>
<li>Leitet Anfragen an die / den entsprechenden „Action Controller“</li>
<li>Gibt die Ausgabe zurück</li>
</ul>
<p>Der Front Controller ruft damit die den entsprechenden Action Controller und die Action auf.</p>
<h4>Und jetzt&#8230;</h4>
<p>Ab hier geht es jetzt wie oben beschrieben weiter.<br />
Die Action kommuniziert mit dem Model und gibt eine Ausgabe (View) zurück.<br />
Der Front Controller kann auch noch andere Actions ausführen, die wiederum eine View zurück geben.<br />
Am Ende gibt der Front Controller die Views aus.</p>
<h4>Eine handvoll Eingriffsmöglichkeiten</h4>
<p>Das System stellt eine Vielzahl von Eingriffsmöglichkeiten parat,<br />
um Funktionalitäten zu erweitern oder hinzufügen.<br />
Hier eine kleine Auswahl:</p>
<h5>Request Object (Anfrage Objekt)</h5>
<p>Alle Informationen zur Benutzeranfrage</p>
<h5>Router (Vermittler)</h5>
<ul>
<li>Teilt die Anfrage auf, in
<ul>
<li>Controller</li>
<li>Action</li>
</ul>
<ul>
<li>beliebige Parameter (die im Controller entsprechend an Model/View übergeben werden)</li>
</ul>
<ul>
<li>Standardmäßig: [Controllername]/[Actionname]/[Parametername1]/[Parameterwert1]</li>
</ul>
</li>
<li>Es können eigene Routen definiert werden, Beispiel: „login/[Benutzername]/[Passwort]“</li>
</ul>
<h5>Dispatcher (Abfertiger / Umschalter)</h5>
<ul>
<li>Verbindet die geteilte Anfrage des Routers auf eine Klasse, Methode</li>
<li>Ruft die Methode auf</li>
</ul>
<h5>Response Object (Antwort Objekt)</h5>
<ul>
<li>beinhaltet alle Ausgaben</li>
<li>gibt diese aus</li>
</ul>
<h5>Plugins</h5>
<ul>
<li>Aufruf bei Front Controller Geschehnissen</li>
<li>Übergreifende automatische Ausführung von Aktionen</li>
</ul>
<h2>Jetzt los an die Entwicklung</h2>
<p>Nach dieser Anleitung sollte klar sein, wie das MVC Architekturmuster funktioniert, wie dieses im Zend Framework umgesetzt wurde und wie man in dessen Ablauf sinnvoll eingreifen kann.<br />
Damit sollte der Grundstein gelegt sein, um das Zend Framework zu verstehen und damit zu entwickeln.<br />
Sobald dieses Prinzip verstanden wurde, ist der Rest „nur“ noch ein Kennen der Klassen, Methoden und eine Sammlung von Erfahrungen.</p>
<p><strong>Quellen und weiterführende Links:</strong></p>
<ul>
<li><a href="http://devzone.zend.com/content/zendcon_07_slides/Ophinney_Matthew_2007-ZendCon-MVC.pdf">Zend MVC Quick Start (PDF, englisch)</a></li>
<li><a href="http://framework.zend.com/manual/de/">Zend Framework Reference Guide</a></li>
<li><a href="http://de.wikipedia.org/wiki/MVC">MVC (Wikipedia)</a></li>
<li><a href="http://de.wikipedia.org/wiki/Architekturmuster">Architekturmuster (Wikipedia)</a></li>
<li><a href="http://de.wikipedia.org/wiki/Objektorientierte_Programmierung">OOP (Wikipedia)</a></li>
<li><a href="http://zfforum.de/showthread.php?t=1207">Bestehender Diskussions-Thread zum Artikel</a></li>
<li><a href="http://kpumuk.info/php/exploring-zend_controller-class-of-zend-framework/#more-45">Etwas tiefere technische Beschreibung des Ablaufs (englisch)</a></li>
</ul>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.zietlow.net/zend-framework/mvc-model%e2%80%93view%e2%80%93controller-im-zend-framework/16/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>HowTo: Entwicklungsversion des Zend Framework herunterladen</title>
		<link>http://www.zietlow.net/zend-framework/howto-entwicklungsversion-des-zend-framework-herunterladen/15/</link>
		<comments>http://www.zietlow.net/zend-framework/howto-entwicklungsversion-des-zend-framework-herunterladen/15/#comments</comments>
		<pubDate>Thu, 03 Jan 2008 22:00:57 +0000</pubDate>
		<dc:creator>Francois</dc:creator>
				<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.zietlow.net/das-web/howto-entwicklungsversion-des-zend-framework-herunterladen/15/</guid>
		<description><![CDATA[Das aktuelle und stabile Release des Zend Frameworks kann unter http://framework.zend.com heruntergeladen werden. Jedoch macht es manchmal Sinn die eigene Entwicklung mit der Entwicklung des zukünftigen Zend Frameworks zu testen. Oder man benötigt Komponenten, die erst in der zukünftigen Version des Frameworks vorhanden sind. Dieses kurze „HowTo“ (Anleitung) erklärt wie man die aktuelle Entwicklungsversion des [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p style="margin-bottom: 0cm">Das aktuelle und stabile Release des Zend Frameworks kann unter <a href="http://framework.zend.com/">http://framework.zend.com</a> heruntergeladen werden.</p>
<p style="margin-bottom: 0cm">Jedoch macht es manchmal Sinn die eigene Entwicklung mit der Entwicklung des zukünftigen Zend Frameworks zu testen. Oder man benötigt Komponenten, die erst in der zukünftigen Version des Frameworks vorhanden sind.</p>
<p style="margin-bottom: 0cm">Dieses kurze „HowTo“ (Anleitung) erklärt wie man die aktuelle Entwicklungsversion des Zend Frameworks herunterladen kann.</p>
<p><span id="more-15"></span></p>
<hr />
<h2>Grundsätzlicher Ablauf</h2>
<p style="margin-bottom: 0cm">Bevor wir stupide die aktuelle Entwicklerversion herunter laden,<br />
soll der grundsätzliche Ablauf neuer Zend Framework Komponenten beschrieben werden.</p>
<p style="margin-bottom: 0cm">Nachdem eine neue Komponente fertig entwickelt, dokumentiert und Unit Tests existieren kann diese in den Zend Laboratory oder in den Zend Incubator aufgenommen werden.</p>
<p style="margin-bottom: 0cm">Im <em>Zend Laboratory</em> (Labor) werden Komponenten hinzugefügt, die in nächster Zeit nicht in den Zend Core (Kern) mit übernommen werden.</p>
<p style="margin-bottom: 0cm">Im<em> Zend Incubator</em> (Brutkasten) werden Komponenten hinzugefügt die sich noch nicht im Core befinden und in (einer) der nächsten Version hinzugefügt werden.</p>
<p style="margin-bottom: 0cm">Nachdem die Komponente in den <em>Core</em> hinzugefügt wurde, wird sie aus dem Incubator genommen.<br />
Der Core wird auch oft als <em>trunk </em>(Baumstamm) bezeichnet.</p>
<p style="margin-bottom: 0cm">Kurz noch einmal der Weg einer neuen Zend Komponente:</p>
<p style="margin-bottom: 0cm"><a href="/img/zend-framework-incubator-laboratory-core.gif" title="Bild vergrößern" target="_blank"><img src="/img/zend-framework-incubator-laboratory-core.gif" alt="Ablauf neue Komponente für das Zend Framework" border="0" height="508" width="550" /></a></p>
<p style="margin-bottom: 0cm">Update 07.01.2008:<br />
<a href="Grafischer Ablauf einer neuen Zend Framework Komponente" target="_blank">Eine weitere Übersicht über den Ablauf neuer Komponenten (neues Fenster)</a></p>
<p style="margin-bottom: 0cm">&nbsp;</p>
<h2><strong>Voraussetzungen</strong></h2>
<p style="margin-bottom: 0cm">SVN (<a href="http://de.wikipedia.org/wiki/Subversion_%28Software%29" title="SVN (Subversion)">Wikipedia</a>) sollte kein Fremdbegriff sein &#8211; wenn ja, dann schnell ändern <img src='http://www.zietlow.net/content/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  &#8211; und<br />
eine entsprechende Software muss auf dem PC installiert sein.</p>
<p style="margin-bottom: 0cm">Ich benutze für Windows das Programm <a href="http://tortoisesvn.tigris.org/">TortoiseSVN</a>.</p>
<h2><strong>Trunk und Incubator</strong></h2>
<p style="margin-bottom: 0cm">Der Trunk (core) und der Incubator können unter der Adresse<br />
<a href="http://framework.zend.com/svn/framework/trunk/">http://framework.zend.com/svn/framework/trunk/</a><br />
eingesehen oder mit einem Subersion Programm heruntergeladen werden.</p>
<p style="margin-bottom: 0cm">Auf der obersten Ebene befindet sich der trunk / core.</p>
<p style="margin-bottom: 0cm">Unter dem Verzeichnis incubator&#8230; <img src='http://www.zietlow.net/content/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2><strong>Laboratory</strong></h2>
<p style="margin-bottom: 0cm">Das Laboratory hat eine eigene Adresse: <a href="http://framework.zend.com/svn/laboratory/">http://framework.zend.com/svn/laboratory/</a></p>
<h2><strong>Anleitung für TortoiseSVN </strong></h2>
<p style="margin-bottom: 0cm">Falls Du Dich nicht mit dem Programm auskennst hier die Schritte,<br />
um den Code herunter zu laden:</p>
<ol>
<li>
<p style="margin-bottom: 0cm"><span>Neues 	Verzeichnis erstellen, z.B. „</span>ZendFramework-trunk<span>“ 	bzw. „ZendFramework-lab“</span></p>
</li>
<li>
<p style="margin-bottom: 0cm"><span>Im 	Windows Explorer auf das Verzeichnis rechts klicken</span></p>
</li>
<li>
<p style="margin-bottom: 0cm"><span>Im 	Menü „SVN Checkout“ wählen</span></p>
</li>
<li>
<p style="margin-bottom: 0cm"><span>Unter 	„URL of repository“ die obrige Adresse eingeben</span></p>
</li>
<li>
<p style="margin-bottom: 0cm"><span>Auf 	OK klicken</span></p>
</li>
<li>
<p style="margin-bottom: 0cm"><span>Warten, 	fertig.</span></p>
</li>
</ol>
<p style="margin-bottom: 0cm"><span>Um die aktuelle Version zu bekommen / das Verzeichnis zu aktualisieren:</span></p>
<ol>
<li>
<p style="margin-bottom: 0cm"><span>Im 	Windows Explorer auf das Verzeichnis rechts klicken </span></p>
</li>
<li>
<p style="margin-bottom: 0cm">„<span>SVN 	Update“ wählen</span></p>
</li>
<li>
<p style="margin-bottom: 0cm"><span>Warten, 	fertig.</span></p>
</li>
</ol>
<p style="margin-bottom: 0cm"><strong><span>Links zu Quellen und weiterführenden Links:</span></strong></p>
<ul>
<li><a href="http://framework.zend.com/wiki/display/ZFDEV/Zend+Framework+Contributor+Guide">Zend Framework Contributor Guide</a></li>
<li><a href="http://www.ralfeggert.de/2006/09/05/was-ist-eigentlich-der-zend-framework-incubator/">Was ist der Zend Framework Incubator?</a></li>
<li><a href="http://framework.zend.com/download">Aktuelles ZF Release herunterladen<br />
</a></li>
<li><a href="http://framework.zend.com/svn/framework/trunk/">Subversion-Link zum Core &amp; Incubator</a></li>
<li><a href="http://framework.zend.com/svn/laboratory/">Subversion-Link zum Laboratory</a></li>
<li><a href="http://tortoisesvn.tigris.org/">Windows Subversion Software TortoiseSVN</a></li>
<li><a href="Wikipedia">Subversion (SVN) bei Wikipedia</a></li>
<li><a href="http://framework.zend.com/wiki/download/attachments/47/proposal_process.gif">Grafischer Ablauf einer neuen Zend Framework Komponente</a></li>
</ul>

<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.zietlow.net/zend-framework/howto-entwicklungsversion-des-zend-framework-herunterladen/15/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
