<?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>Ersocon.net - Science Blog &#187; Zend Framework</title>
	<atom:link href="http://blog.ersocon.net/category/zend-framework/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.ersocon.net</link>
	<description>Zend Framework, PHP, Java</description>
	<lastBuildDate>Sat, 08 Oct 2011 10:21:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Mehrere Zend Cycle Helper im Einsatz</title>
		<link>http://blog.ersocon.net/mehrere-zend-cycle-helper-im-einsatz-pid65.html</link>
		<comments>http://blog.ersocon.net/mehrere-zend-cycle-helper-im-einsatz-pid65.html#comments</comments>
		<pubDate>Tue, 19 Apr 2011 09:54:01 +0000</pubDate>
		<dc:creator>ersocon</dc:creator>
				<category><![CDATA[Hyptertext Markup Language]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[Cycle]]></category>
		<category><![CDATA[Cycle Helper]]></category>
		<category><![CDATA[Mehrere Cycle Helper]]></category>

		<guid isPermaLink="false">http://blog.ersocon.net/?p=65</guid>
		<description><![CDATA[Falls ihr euch schon mit dem Cycle Helper von Zend beschäftigt habt, werdet ihr irgendwann an den Punkt kommen, wo ihr mehrere &#8220;cycles&#8221; in einer Ausgabeseite verwenden möchtet. Dazu sieht der Helper vor, dass man Namen für jeden Cycle vergibt. Wählt man diese nicht, wird der default Name verwendet. Dies kann wiederum zu nervigen Seiteneffekten [...]]]></description>
			<content:encoded><![CDATA[<p>Falls ihr euch schon mit dem Cycle Helper von Zend beschäftigt habt, werdet ihr irgendwann an den Punkt kommen, wo ihr mehrere &#8220;cycles&#8221; in einer Ausgabeseite verwenden möchtet. Dazu sieht der Helper vor, dass man Namen für jeden Cycle vergibt. Wählt man diese nicht, wird der default Name verwendet. Dies kann wiederum zu nervigen Seiteneffekten führen. Hierzu ein kleines Beispiel:</p>
<pre class="brush:html">
<div class="<?php echo $this->cycle(array('blue', 'red'))->next() ?>">
</div>
<div class="<?php echo $this->cycle(array('yellow', ''))->next() ?>" >
</div>
</pre>
<p>Sieht auf den ersten Blick nicht unbedingt falsch aus. An dieser Stelle sollte man jedoch wissen, dass der zweite next() Aufruf problematisch ist. Um das Problem zu lösen verwendet man Namen für jeden Cycle, in etwa so:</p>
<pre class="brush:html">
<div class="<?php echo $this->cycle(array('blue', 'red'), 'cycle1')->next() ?>">
</div>
<div class="<?php echo $this->cycle(array('yellow', ''), 'cycle2')->next() ?>" >
</div>
</pre>
<p>Was mir neulich auch noch passiert ist, ist eine falsche Ausgabe des Ergebnisses. Bei einem echo auf den cycle()->next() Aufruf wird automatisch die toString() Methode des Helpers aufgerufen. Möchte man nun mit Variablen arbeiten, wird es auch hier leicht verwirrend, wenn man dies nicht im Hinterkopf behält. Dazu auch ein kleines Beispiel:</p>
<pre class="brush:php">
// Hiermit erhalten wir lediglich das helper Objekt
$output = $this->Cycle(array('blue', 'red'))->next();

// Eigentlich möchten wir aber dies hier
$output = $this->Cycle(array('blue', 'red'))->next()->toString();

// Ausgabe im Verbund funktioniert beim ersten Beispiel nicht...
echo 'Text' . $output;

// Bei einem direkten echo alledings schon
echo $output;
</pre>
<p>Ich wünsche viel Spaß beim Ausprobieren und viel Erfolg bei der Entwicklung neuer SuperApplikationen <img src='http://blog.ersocon.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ersocon.net/mehrere-zend-cycle-helper-im-einsatz-pid65.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Templates in Eclipse einrichten</title>
		<link>http://blog.ersocon.net/templates-in-eclipse-einrichten-pid46.html</link>
		<comments>http://blog.ersocon.net/templates-in-eclipse-einrichten-pid46.html#comments</comments>
		<pubDate>Tue, 12 Apr 2011 06:49:19 +0000</pubDate>
		<dc:creator>ersocon</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[Template]]></category>

		<guid isPermaLink="false">http://blog.ersocon.net/?p=46</guid>
		<description><![CDATA[Eclipse bietet (auch für PHP) eine sehr gute Möglichkeit sich ein wenig Arbeit beim Tippen zu ersparen. Um z.B. Ausdrücke, die man oft verwendet, nicht ständig selbst tippen muss, kann man sich diese mit Hilfe von Templates auf ein bestimmtes Pattern legen. Wenn ich nun z.B. folgendes abkürzen möchte&#8230; Zend_Debug::dump(); ..lege ich ein neues Template [...]]]></description>
			<content:encoded><![CDATA[<p>Eclipse bietet (auch für PHP) eine sehr gute Möglichkeit sich ein wenig Arbeit beim Tippen zu ersparen. Um z.B. Ausdrücke, die man oft verwendet, nicht ständig selbst tippen muss, kann man sich diese mit Hilfe von Templates auf ein bestimmtes Pattern legen.</p>
<p>Wenn ich nun z.B. folgendes abkürzen möchte&#8230;</p>
<pre class="brush:php">
Zend_Debug::dump();
</pre>
<p>..lege ich ein neues Template in Eclipse mit dem Kürzel &#8220;debug&#8221; an. In etwa so:</p>
<p><a href="http://blog.ersocon.net/wp-content/uploads/2011/04/Bildschirmfoto-Preferences-.png"><img src="http://blog.ersocon.net/wp-content/uploads/2011/04/Bildschirmfoto-Preferences--300x218.png" alt="" title="Bildschirmfoto-Preferences" width="300" height="218" class="aligncenter size-medium wp-image-47" /></a></p>
<p>Der Vorteil ist, dass ich beim Tippen des Wortes &#8220;debug&#8221; einen Vorschlag für Zend_Debug::dump() erhalte und somit nicht alles selbst tippen muss.<br />
Ich wünsche viel Spaß beim Ausprobieren und Abkürzen <img src='http://blog.ersocon.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ersocon.net/templates-in-eclipse-einrichten-pid46.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Module im Zend Framework</title>
		<link>http://blog.ersocon.net/module-im-zend-framework-pid40.html</link>
		<comments>http://blog.ersocon.net/module-im-zend-framework-pid40.html#comments</comments>
		<pubDate>Sun, 03 Apr 2011 10:15:58 +0000</pubDate>
		<dc:creator>ersocon</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[Invalid controller class]]></category>
		<category><![CDATA[Module]]></category>

		<guid isPermaLink="false">http://blog.ersocon.net/?p=40</guid>
		<description><![CDATA[Da ich nun auch mit Module rumgespielt habe, ist mir ein recht seltsames Verhalten aufgefallen. Man definiert ein Hauptmodul, was man als default oder core bezeichnen kann. Zudem kann man auch ein Modulverzeichnis angeben und sogar die Ordnernamen für darunter liegende Controller definieren. Soweit so gut, hört sich doch nicht schlecht an. Die oben genannten [...]]]></description>
			<content:encoded><![CDATA[<p>Da ich nun auch mit Module rumgespielt habe, ist mir ein recht seltsames Verhalten aufgefallen. Man definiert ein Hauptmodul, was man als default oder core bezeichnen kann. Zudem kann man auch ein Modulverzeichnis angeben und sogar die Ordnernamen für darunter liegende Controller definieren. Soweit so gut, hört sich doch nicht schlecht an.</p>
<p>Die oben genannten Schritte erledigt man z.B. so:</p>
<pre class="brush:php">
$frontController = Zend_Controller_Front::getInstance();
$frontController->setDefaultModule('core');

$frontController->setModuleControllerDirectoryName('controllers');
$frontController->addModuleDirectory(APPLICATION_PATH . '/modules');
</pre>
<p>Interessanterweise ist es nun so, dass man irgendwann, wenn man einen Controller außerhalb des core-Moduls (in dem obigen Beispiel) aufruft, erhalt man eine Meldung, die dann z.B. sowas hier enthält:</p>
<p><strong>Message: Invalid controller class (&#8220;Mymodule_IndexController&#8221;) </strong></p>
<p>Bei Zend ist es ein wenig tricky. Man muss bei zusätzlichen Modulen den Modulnamen vor den Controller-Namen schreiben. Der Dateiname des Controllers bleibt davon allerdings verschont. Klingt irgendwie seltsam, ist aber so.</p>
<p>In der Praxis sieht das nun so aus, in der Datei IndexController.php schreiben wir einfach:</p>
<pre class="brush:php">
class Mymodule_IndexController extends Zend_Controller_Action
{

}
</pre>
<p>Schon funktioniert alles wie man es haben möchte. Ich wünsche viel Spaß und Erfolg <img src='http://blog.ersocon.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ersocon.net/module-im-zend-framework-pid40.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu für das Zend Framework konfigurieren</title>
		<link>http://blog.ersocon.net/ubuntu-fur-das-zend-framework-konfigurieren-pid20.html</link>
		<comments>http://blog.ersocon.net/ubuntu-fur-das-zend-framework-konfigurieren-pid20.html#comments</comments>
		<pubDate>Wed, 03 Mar 2010 21:11:18 +0000</pubDate>
		<dc:creator>ersocon</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://blog.ersocon.net/?p=20</guid>
		<description><![CDATA[Aus aktuellem Anlass &#8211; einer Neuinstallation meines Systems &#8211; möchte ich euch die Schritte erklären, die zu einer lokalen LAMP (Linux Apache MySQL und PHP) Entwicklungsumgebung für Zend-Framework Projekte unter Ubuntu 9.10 Karmic Koala führen. Ein fertiges Linux-System solltet ihr mit Ubuntu ja bereits besitzen. D.h. den nächsten Schritt, den man gehen muss, ist den [...]]]></description>
			<content:encoded><![CDATA[<p>Aus aktuellem Anlass &#8211; einer Neuinstallation meines Systems &#8211; möchte ich euch die Schritte erklären, die zu einer lokalen LAMP (Linux Apache MySQL und PHP) Entwicklungsumgebung für Zend-Framework Projekte unter Ubuntu 9.10 Karmic Koala führen.</p>
<p>Ein fertiges Linux-System solltet ihr mit Ubuntu ja bereits besitzen. D.h. den nächsten Schritt, den man gehen muss, ist den Apache-Server zu installieren. Unter Ubuntu bewerkstelligt man dies in der Console mit dem einfachen Aufruf</p>
<pre class="brush:shell">sudo apt-get install apache2</pre>
<p>Eine Internetverbindung vorausgesetzt, solltet ihr nun die Download-, Installations- und Konfigurationsroutine sehen. Um zu überprüfen, ob der Apache nach der Installation läuft, öffnet einen Browser eurer Wahl und versucht die Adresse http://127.0.1.1 aus. Ihr solltet etwas in der Art &#8220;It Works&#8221; zu lesen erhalten.</p>
<p>Das Zend-Framework basiert ja bekanntlich auf PHP und so benötigen wie jetzt entsprechend PHP. Um PHP5 zu installieren, bemüht man widerum die Console und holt die aktuelle Version aus den Quellen:</p>
<pre class="brush:shell">sudo apt-get install php5</pre>
<p>Nach erfolgreicher Installation sollte der Apache neu starten und wir können überprüfen, ob die Installation korrekt ausgeführt wurde. Dazu wechselt man in das Web-Verzeichnis des Servers:</p>
<pre class="brush:shell">cd /var/www</pre>
<p>Hier sollte bereits eine index.html existieren, die wir schon im Web-Browser bewundern durften. Mit dem Aufruf&#8230;</p>
<pre class="brush:shell">sudo gedit phpinfo.php</pre>
<p>&#8230; erstellt man die Datei phpinfo.php und öffnet diese gleichzeitig mit dem (in Ubuntu mitgelieferten) Editor, welcher übrigens um einges mächtiger ist, als z.B. Notepad unter Windows, da er für sehr viele Dateitypen Syntax-Highlighting unterstützt. In diese Datei fügt ihr nun folgende Zeile ein und speichert die Datei ab:</p>
<pre class="brush:php">&lt;?php phpinfo(); ?&gt;</pre>
<p>Damit haben wir eine Test-PHP-Datei erstellt, welche die Methode phpinfo aufruft und uns somit ausführliche Informationen über die installierte PHP-Version liefert. Diese Datei könnt ihr über den Web-Browser unter http://127.0.1.1/phpinfo.php aufrufen. Bei erfolgreicher PHP-Installation solltet ihr nun PHP-Informationen (z.B. die Version) sehen.</p>
<p>Einen großen Teil habt ihr damit schon geschafft und könntet schon fast  mit einem Zend-Projekt anfangen. Was noch fehlt ist die Datenbank und  das Apache ModRewrite Modul. Wofür die Datenbank (MySQL) gebraucht wird, sollte klar sein. Das Modul benötigen wir, um euer Projekt zu &#8220;privatisieren&#8221;. Das bedeutet, dass wir &#8211; gemäß ZF-Vorgabe &#8211; einzig und allein einen öffentlichen Zugriff auf die index.php anbieten.</p>
<p>Starten wir doch mit dem Einfacheren, dem Modul. Dieses ist nämlich schon installiert und muss nur noch aktiviert werden. Dazu wieder die Konsole:</p>
<pre class="brush:shell">sudo a2enmod rewrite</pre>
<p>Kurze Erklärung dazu: a2 (Apache2, unser Server) en (enable, aktivieren) mod (Modul) rewrite. Eventuell &#8211; falls nicht automatisch durchgeführt &#8211; müsst ihr den Apache neu starten.</p>
<p>Nun möchten wir uns noch um die letzte Komponente, einen MySQL-Server kümmern. Dazu bemühen wir wieder die geliebte Konsole und holen uns den mysql-server mit Hilfe von apt:</p>
<pre class="brush:shell">sudo apt-get install mysql-server</pre>
<p>Bei der Installation solltet ihr die entsprechenden Zugriffspasswörter wählen, der Rest passiert automatisch. Für diejenigen, die phpMyAdmin kennen und nutzen möchten, bietet sich an das Paket phpmyadmin zu installieren, welches dann unter http://127.0.1.1/phpmyadmin zu finden ist.</p>
<pre class="brush:shell">sudo apt-get install phpmyadmin</pre>
<p>Mit dieser Konfiguration könnt ihr euch nun in aller Ruhe in ein neues Zend-Projekt stürzen. Falls ihr möchtet, könnt ihr auch entsprechende Tipps und Tutorials dazu in meinem kleinen ScienceBlog zur Hilfe nehmen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ersocon.net/ubuntu-fur-das-zend-framework-konfigurieren-pid20.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

