<?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>ROAE-Blog &#187; Zend Studio</title>
	<atom:link href="http://blog.root-of-all-evil.com/tag/zend-studio/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.root-of-all-evil.com</link>
	<description>Studium, Codeing und Gedachtes</description>
	<lastBuildDate>Mon, 30 Jan 2012 22:58:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Entwickeln mit Zend &#8211; Teil 1, Einführung</title>
		<link>http://blog.root-of-all-evil.com/2010/03/entwickeln-mit-zend-teil-1-einfuhrung/</link>
		<comments>http://blog.root-of-all-evil.com/2010/03/entwickeln-mit-zend-teil-1-einfuhrung/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 14:27:59 +0000</pubDate>
		<dc:creator>Felix</dc:creator>
				<category><![CDATA[Guides]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projekt]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Projekt mit Zend]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[Zend Server]]></category>
		<category><![CDATA[Zend Studio]]></category>

		<guid isPermaLink="false">http://blog.root-of-all-evil.com/?p=447</guid>
		<description><![CDATA[<a href="http://blog.root-of-all-evil.com/2010/03/entwickeln-mit-zend-teil-1-einfuhrung/" title="Entwickeln mit Zend - Teil 1, Einführung"></a>In dieser Reihe von Publizierungen werden alle notwendigen Schritte beschrieben, eine professionelle Entwicklungsumgebung aufzusetzen mit welcher mit dem Zend Framework entwickelt werden kann. Als ZF-Projekt soll beispielhaft ein Gästebuch mit Administrationsbereich erstellt werden. Hierfür wird zuerst auf dem System (Windows &#8230;<p class="read-more"><a href="http://blog.root-of-all-evil.com/2010/03/entwickeln-mit-zend-teil-1-einfuhrung/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://blog.root-of-all-evil.com/2010/03/entwickeln-mit-zend-teil-1-einfuhrung/" title="Entwickeln mit Zend - Teil 1, Einführung"></a><p>In dieser Reihe von Publizierungen werden alle notwendigen Schritte beschrieben, eine professionelle Entwicklungsumgebung aufzusetzen mit welcher mit dem <a href="http://framework.zend.com/">Zend Framework</a> entwickelt werden kann. Als ZF-Projekt soll beispielhaft ein Gästebuch mit Administrationsbereich erstellt werden.</p>
<p>Hierfür wird zuerst auf dem System (Windows 7) Apache, MySQL und PHP installiert (Zend Community Server) und der Apache entsprechend konfiguriert, dass das zukünftige Projekt über Virtual Hosts ansprechbar ist. Um den Code komfortabel zu verwalten verwenden wir das Versionskontrollsystem Subversion welches wir gegen unbefugte Benutzung absichern werden. Anschließend wird eine Entwicklungsumgebung (Zend Studio für Eclipse) installiert, welche komfortabel mit der Versionsverwaltung und dem Server zusammenarbeiten kann.</p>
<p>Letzlich wird begonnen das eigentliche Projekt, die Programmierung des Gästebuchs, mit Hilfe von verschiedenen Pattern (z.B. MVC) umzusetzen.</p>
<h3><span id="more-447"></span>Was ist das Zend Framework</h3>
<p>Das Zend Framework (oft abgekürzt mit ZF) ist ein komponentenorientieres Framework für PHP 5, welches zahlreiche Klassen bereit stellt mit welchen sehr komfortabel Anwendungen entwickelt werden können.<br />
Komponentenorientiert in diesen Zusammenhang heißt, dass neue Anwendungen komplett auf dem Framework bassierend entwickelt werden können- alternativ können zu bestehenden Anwendungen aber auch nur bestimmte Funktionen, z.B. Cacheing, Authentifizierung, von dem Framework genutzt werden.<br />
Im März 2006 wurde die erste Pre-Alpha-Version 0.1.1 vorgestellt und wird seit dem stetig von Zend Technologies &#8211; den Entwicklern von PHP &#8211; weiterentwickelt.</p>
<h3>Warum das Zend Framework</h3>
<p>Frameworks sind mehrere dutzende verfügbar, eine Wahl fällt hier auf den ersten Blick sehr schwer. Stellt man jedoch eine Reihe von Kriterien auf, wird die Auswahl schnell auf wenige eingeschränkt. Ich möchte hier nur ein Paar der zahlreichen Vorteile listen, welche ich bei dem Zend Framework gegenüber anderen Frameworks sehe:</p>
<ul>
<li>Komponentenbasierend<br />
Wie bereits im Paragraphen &#8220;Was ist das Zend Framework&#8221; beschrieben. Um das ZF zu nutzen müssen bestehende Anwendungen nicht neu geschrieben werden, sondern es können bestimmte Funktionalitäten ohne großen Aufwand genutzt werden.<br />
Zahlreiche Standardaufgaben wie Formularerstellung und -validierung, E-Mailversandt oder Templates werden durch die Komponenten abgedeckt.<br />
Durch  durchgehend benutzte Design Patterns (&#8220;Entwicklungsmuster&#8221;) und Adapter (ein Art abkopelbarer Zwischenschritt) können sehr schnell durch wenige Zeilen Code große Teile der Anwendung umgeschrieben werden.  So ist es z.B. innerhalb weniger Sekunden möglich die Anwendung so umzuschreiben, dass diese zukünftig in einer ini-/ xml-Datei oder SQLite-DB statt in einer Oracle-/ MySQL-Datenbank Fehlermeldungen protokolliert.</li>
</ul>
<ul>
<li>Community<br />
Das ZF hat eine sehr große Community die von Zend selbst wiederum stark gefördert wird (siehe <a href="http://framework.zend.com/wiki/display/ZFDEV/Home">Zend Framework Wiki</a>). Es existieren zahlreiche, natürlich auch deutschsprachige, Foren, Blogs und Tutorials die sich mit dem ZF beschäftigen.</li>
</ul>
<ul>
<li>Dokumentation<br />
Das ZF ist vorbildhaft dokumentiert. Die Dokumentation wird von Zend selbst immer auf den neusten Stand gehalten, ist in zahlreichen Sprachen verfügbar und verfügt über zahlreiche Beispiele und Tutorials.</li>
</ul>
<ul>
<li>Web 2.0<br />
Es stehen zahlreiche Klassen bereit, mit welchen man die Services von Google, Delicous, YouTube, Flickr, Yahoo, Amazon etc. ohne hohe Einarbeitungszeit nutzen kann.</li>
</ul>
<ul>
<li>Ajax<br />
Das <a href="http://www.dojotoolkit.org/">Dojo Toolkit</a> ist in das ZF integriert. Hierdurch können sehr schnell Ajax-Applikationen erstellt werden.<br />
Auch hier gilt wieder &#8211; Dojo kann verwendet werden, muss aber nicht. Sind sie bereits ein anderes Framework gewohnt, können Sie dieses ebenfalls mit dem ZF nutzen.</li>
</ul>
<ul>
<li>Weiterentwicklung<br />
Da hinter dem ZF die Zend Technologies steht, ist eine in Zukunft Weiterentwicklung gesichert &#8211; ein großer Pluspunkt im Vergleich zu anderen Frameworks.</li>
</ul>
<ul>
<li>Lizenzierung/Kosten<br />
Das ZF steht unter der <a href="http://de.wikipedia.org/wiki/BSD-Lizenz">BSD-Lizenz.</a> Kosten entstehen also nicht.</li>
</ul>
<ul>
<li>Testbasis<br />
Alle Komponenten werden über Unit-Tests getestet. Auch ist es so dem Entwickler möglich, mit relativ wenig Aufwand Tests für seine Applikation zu schreiben.</li>
</ul>
<h3>Warum Zend-Software</h3>
<p>In der Einleitung war schon abzulesen, dass hier fast nur Software von Zend verwendet wird. Hintergrund für diese Wahl ist, dass ich persönlich von den Zend-Produkten überzeugt bin: sie zeichnen sich aus durch eine komfortable, leicht zu erlernende Bedienung und zahlreiche kleine Tools welche die tägliche Arbeit stark erleichtern.</p>
<p><strong>Vorteile</strong></p>
<p>So ist es z.B. beim Zend Server möglich über eine Web-GUI schnell die Konfiguration zu ändern (z.B. bestimmte PHP-Extensions oder Error-Logging zu (de)aktivieren) und weil alles &#8220;aus einer Hand&#8221; kommt wird beim ersten Start von Zend Studio (nur eines von zahlreichen weiteren Beispielen) automatisch der Zend Server gefunden und das Debugging konfiguriert. Natürlich stell Zend Studio auch zahlreiche Tools bereit welche das Arbeiten mit dem ZF noch mehr beschleunigen. Mit Zend Tools ist übrigens ein Server-debugging möglich, das heißt der Code kann auf dem Server selbst, unabhängig vom Code in der Entwicklungsumgebung inspiziert werden.<br />
Zend Studio setzt auf Eclipse auf &#8211; es können also die Plugins welche man bereits in Eclipse verwendet hat bzw. kennt, auch in Zend Studio verwenden.</p>
<p><strong>Nachteile</strong></p>
<p>Nach viel Lob und Tadel sollen natürlich auch die negativen Aspekte beleuchtet werden: Zend Studio (Eclipse)  benötigt relativ viel Arbeitsspeicher. Sind mehrere große Projekte parallel geöffnet kann dies den Rechner schon stark belasten (insbesondere wenn Tools wie der HTML-Validator aktiv sind).<br />
Zahlreiche Kinderkrankheiten wurden in Verison 7.1 behoben, welches ein Update auf diese Version obligatorisch ist.<br />
Eine offizielle 64-Bit Version für Linux ist noch nicht verfügbar &#8211; zwar kann man die 32-Bit Version installieren, dies läuft aber instabil.<br />
Die Entwicklungsumgebung mag hin und wieder ein wenig oversized wirken: man kann wirklich alles damit machen. Über SSH auf einen Server zugreifen und direkt Remote Dateien editieren oder direkt Datenbanken entwickeln &#8211; dies ist aber manchmal einfach zuviel des guten wenn man nur &#8220;ein paar Zeilen Code&#8221; schreiben will.<br />
Auch arbeiten manche Funktionen, z.B. die Codevervollständigung in Javascript, nicht fehlerfrei; andere Funktionen welche z.B. den Code auf (logische) Korrektheit prüfen arbeiten suboptimal, sodass nach einem Import eines Projektes mehrere 1000 angbliche Fehler gelistet werden &#8211; dabei steht aber z.B. der schließende Tag in einer includeten-Datei, was Zend natürlich nicht weiß.</p>
<p><strong>Kosten</strong></p>
<p>Der Zend Server ist in der sog. Community Edition (eingeschränkter Fuktionsumfang) kostenlos erhältich. Für die Entwicklung reichen die Funktionen jedoch voll und ganz aus. Zend Studio kostet mit einem 1-Jahres-Abo für Updates und Support 399€, dies ist jedoch verglichen mit Funktionsumfang ok. Eine Testversion für 30 Tage ist verfügbar.</p>
<h3>Ausblick</h3>
<p>Im nächsten Beitrag werden wir den Zend Server CE herunterladen und installieren. Es wird ein kurzer Überblick über die Funktionen gegeben. Anschließend werden wir noch zwei Virtual Hosts einrichten (live, development) über welche unsere zukünftige Anwendung dann erreichbar sein wird.</p>
<p><strong>Wichtige Links</strong></p>
<ul>
<li><a href="http://www.ralfeggert.de/">http://www.zend.com/de/</a> &#8211; Zend Technologies, Download von Zend Studio und Zend Server CE.</li>
<li><a href="http://framework.zend.com ">http://framework.zend.com </a>- Zend Framework, die offizielle Seite von ZF. Mit Links zur Dokumentation, Tutorials und dem ZF Wiki.</li>
<li><a href="http://www.dojotoolkit.org/">http://www.dojotoolkit.org/</a> &#8211; Dojo Toolkit, das in ZF integrierte Ajax-Toolkit</li>
<li><a href="http://www.zfforums.com/">http://www.zfforums.com/</a> &#8211; ZF Forum, englischsprachiges ZF Forum.</li>
<li><a href="http://www.ralfeggert.de/">http://www.ralfeggert.de/</a> &#8211; Blog von Ralf Eggert, blogt über das ZF und PHP allgemein.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.root-of-all-evil.com/2010/03/entwickeln-mit-zend-teil-1-einfuhrung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

