<?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>patrickburke.de &#187; zend framework</title>
	<atom:link href="http://patrickburke.de/wordpress/index.php/tag/zend-framework/feed/" rel="self" type="application/rss+xml" />
	<link>http://patrickburke.de/wordpress</link>
	<description>PHP, JavaScript, XHTML, CSS, Web.</description>
	<lastBuildDate>Wed, 19 May 2010 18:51:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Zend_Acl Autoloader?</title>
		<link>http://patrickburke.de/wordpress/index.php/2009/07/zend_acl_autoloader/</link>
		<comments>http://patrickburke.de/wordpress/index.php/2009/07/zend_acl_autoloader/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 18:57:30 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[acl]]></category>
		<category><![CDATA[dynamic acl]]></category>
		<category><![CDATA[zend]]></category>
		<category><![CDATA[zend framework]]></category>
		<category><![CDATA[zend_acl]]></category>
		<category><![CDATA[zion_acl]]></category>

		<guid isPermaLink="false">http://patrickburke.de/wordpress/?p=195</guid>
		<description><![CDATA[Wieder zum Zend Framework.
Als ich mir die Dokumentation zu Zend_Acl durchlas war mein erster Gedanke &#8220;Mein Gott, ich soll bei jedem Seiten Aufruf die gesamte ACL Struktur laden? Das kann doch nicht euer Ernst sein.&#8221;
Natürlich nicht. Erneut Google zur Hilfe gerufen fand ich schnell einen dynamischen ACL Loader im Wiki des Frameworks. Die Lösung! Funktioniert [...]]]></description>
			<content:encoded><![CDATA[<p>Wieder zum <a href="http://framework.zend.com" target="_blank">Zend Framework</a>.</p>
<p>Als ich mir die Dokumentation zu <em>Zend_Acl</em> durchlas war mein erster Gedanke &#8220;Mein Gott, ich soll bei jedem Seiten Aufruf die gesamte ACL Struktur laden? Das kann doch nicht euer Ernst sein.&#8221;</p>
<p>Natürlich nicht. Erneut Google zur Hilfe gerufen fand ich schnell <a href="http://framework.zend.com/wiki/display/ZFPROP/Zend_Acl+dynamic+loading+-+Aldemar+Bernal" target="_self">einen dynamischen ACL Loader</a> im Wiki des Frameworks. Die Lösung! Funktioniert auch super, doch zickte es ein wenig mit Objekte als Resource/Role IDs, selbst dann wenn diese das <em>Zend_Acl_Resource_Interface</em> bzw. das <em>Zend_Acl_Role_Interface</em> implementierten. Also überschrieb ich die entsprechende Methode einfach und fügte so die <span style="text-decoration: line-through;">fehlenden</span> gewünschten Funktionen hinzu.</p>
<p>Blödsinn! Warum? Ganz einfach: Ich hatte sowieso schon eine eigene Version von <em>Zend_Acl::isAllowed()</em> geschrieben (nicht überschrieben, meine Variante gehört zu einem Plugin das für ACL zuständig ist und nicht von <em>Zend_Acl</em> erbt), welche wiederum <em>Zend_Acl::isAllowed()</em> benutzt um festzustellen, ob Peter nun Zugriff hat oder nicht (Ein Name, den ich ständig als Platzhalter benutze, man kann ihn einfach so schnell tippen. Und nein, meine Passwörter enthalten diesen Namen nicht <img src='http://patrickburke.de/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ).</p>
<p>Jedenfalls lade ich nun innerhalb meiner Variante von <em>Zend_Acl::isAllowed()</em> zuerst alle Rollen und Resourcen nach denen gefragt ist (selbstverständlich mit einer Überprüfung ob diese nicht vielleicht schon geladen sind), besorge mir die Berechtigungsdaten aus der Datenbank, verwende entsprechend <em>Zend_Acl::allow()</em> bzw. <em>-::deny()</em> um die Berechtigungen festzulegen und am Schluß <em>Zend_Acl::isAllowed()</em> um nun endlich herauszubekommen wie es um Peters Berechtigungen bestellt ist. Das ACL Objekt sollte statisch deklariert werden um sicherzugehen, dass das Rad nicht ständig neu erfunden wird.</p>
]]></content:encoded>
			<wfw:commentRss>http://patrickburke.de/wordpress/index.php/2009/07/zend_acl_autoloader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend_Layout: Layouts pro Modul</title>
		<link>http://patrickburke.de/wordpress/index.php/2009/07/zend_layout-layouts-per-module/</link>
		<comments>http://patrickburke.de/wordpress/index.php/2009/07/zend_layout-layouts-per-module/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 16:53:58 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[per module]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://patrickburke.de/wordpress/?p=184</guid>
		<description><![CDATA[Heute stand ich vor dem Problem, jedem der Module einer Zend Application eine eigene layout.phtml zuweisen zu müssen. Zuerst dachte ich, es sei ganz einfach über eine application.ini Zeile á la
admin.resources.layout.layoutPath = path/to/layout
möglich (wobei &#8220;admin&#8221; hier der Modulname ist). Doch wie so häufig brachte der Druck auf F5 Ernüchterung, es funktioniert so nicht.
Eine kurze Google [...]]]></description>
			<content:encoded><![CDATA[<p>Heute stand ich vor dem Problem, jedem der Module einer Zend Application eine eigene <em>layout.phtml</em> zuweisen zu müssen. Zuerst dachte ich, es sei ganz einfach über eine <em>application.ini </em>Zeile á la</p>
<p><em>admin.resources.layout.layoutPath = path/to/layout</em></p>
<p>möglich (wobei <em>&#8220;admin&#8221;</em> hier der Modulname ist). Doch wie so häufig brachte der Druck auf F5 Ernüchterung, es funktioniert so nicht.</p>
<p>Eine kurze Google Suche <a href="http://dustint.com/archives/28" target="_blank">ergab</a>, dass man sich einfach ein Front Controller Plugin schreiben kann, das vor dem Dispatchen abhängig vom Modulnamen die entsprechende layout.phtml lädt. Eigentlich genau das was ich wollte, aber es musste doch einen Weg geben ohne zusätzlichen Code dasselbe Ziel zu erreichen.</p>
<p>Also gab ich mich nicht mit diesem Plugin zufrieden und probierte herum, bis mir eine Fehlermeldung die Augen öffnete. Und zwar sucht Zend unter anderem auch im <em>/scripts/views/</em> Unterverzeichnis eines jeden Moduls nach einer <em>layout.phtml</em>. Also brauchte ich nur die <em>&#8220;resources.layout.*&#8221;</em> Einstellungen in der Konfiguration entfernen und eine <em>layout.phtml</em> in den eben genannten Verzeichnissen erstellen und &#8211; voilà &#8211; schon benutzt jedes Modul sein eigenes Layout; krass, oder?</p>
]]></content:encoded>
			<wfw:commentRss>http://patrickburke.de/wordpress/index.php/2009/07/zend_layout-layouts-per-module/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
