<?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>WEBPIRATEN &#187; Frameworks</title>
	<atom:link href="http://webpiraten.de/index.php/category/frameworks/feed/" rel="self" type="application/rss+xml" />
	<link>http://webpiraten.de</link>
	<description>Techblog</description>
	<lastBuildDate>Sun, 05 Feb 2012 12:52:32 +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>agavi output type overwrite in action</title>
		<link>http://webpiraten.de/index.php/frameworks/agavi-output-type-overwrite-in-action/</link>
		<comments>http://webpiraten.de/index.php/frameworks/agavi-output-type-overwrite-in-action/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 13:25:23 +0000</pubDate>
		<dc:creator>sägefisch</dc:creator>
				<category><![CDATA[Agavi]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[action]]></category>
		<category><![CDATA[agavi]]></category>
		<category><![CDATA[container]]></category>
		<category><![CDATA[output]]></category>
		<category><![CDATA[overwrite]]></category>
		<category><![CDATA[set output type]]></category>
		<category><![CDATA[type]]></category>

		<guid isPermaLink="false">http://webpiraten.de/?p=337</guid>
		<description><![CDATA[um den output type einer agavi action auch nach dem routing zu ändern, kann man innerhalb der action den output type überschreiben.]]></description>
			<content:encoded><![CDATA[<p>um den output type einer agavi action auch nach dem routing zu ändern, kann man innerhalb der action den output type überschreiben.</p>
<pre class="brush: php; title: ; notranslate">

/**
 * assume that 'html' is the standard GET output for this action
 * when this action is called via POST you want to change the output type to 'json'
 * because on error or success you want to show small messages per json instead full html
 */
    public function executeRead(AgaviRequestDataHolder $rd)
    {
        return 'Input';
    }

    public function executeWrite(AgaviRequestDataHolder $rd)
    {
        $this-&gt;getContainer()-&gt;setOutputType($this-&gt;getContext()-&gt;getController()-&gt;getOutputType('json'));
        try
        {
            // do POST stuff
        }
        catch(Exception $e)
        {
            $this-&gt;setAttribute('message', $e-&gt;getMessage());
            return 'Error';
        }
        return 'Success';
    }
</pre>
]]></content:encoded>
			<wfw:commentRss>http://webpiraten.de/index.php/frameworks/agavi-output-type-overwrite-in-action/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>kohana modules &#8211; nützliche module für den täglichen gebrauch</title>
		<link>http://webpiraten.de/index.php/frameworks/kohana-modules-nutzliche-module-fur-den-taglichen-gebrauch/</link>
		<comments>http://webpiraten.de/index.php/frameworks/kohana-modules-nutzliche-module-fur-den-taglichen-gebrauch/#comments</comments>
		<pubDate>Tue, 24 May 2011 20:39:21 +0000</pubDate>
		<dc:creator>sägefisch</dc:creator>
				<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[GIT]]></category>
		<category><![CDATA[Kohana]]></category>
		<category><![CDATA[Kohana ORM]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Versionierung]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[kohana]]></category>
		<category><![CDATA[modul]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[repo]]></category>

		<guid isPermaLink="false">http://webpiraten.de/?p=324</guid>
		<description><![CDATA[unter dieser url findet ihr nützliche kohana module, die euch jede menge arbeit abnehmen können. http://kohana-modules.com]]></description>
			<content:encoded><![CDATA[<p>unter dieser url findet ihr nützliche kohana module, die euch jede menge arbeit abnehmen können.</p>
<p><a href="http://kohana-modules.com/">http://kohana-modules.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://webpiraten.de/index.php/frameworks/kohana-modules-nutzliche-module-fur-den-taglichen-gebrauch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>xgchunker &#8211; kohana 3 modul konvertiert grosse csv/xml dateien in StdClass objekte</title>
		<link>http://webpiraten.de/index.php/frameworks/xgchunker-kohana-3-modul-konvertiert-grosse-csvxml-dateien-in-stdclass-objekte/</link>
		<comments>http://webpiraten.de/index.php/frameworks/xgchunker-kohana-3-modul-konvertiert-grosse-csvxml-dateien-in-stdclass-objekte/#comments</comments>
		<pubDate>Sun, 22 May 2011 12:54:26 +0000</pubDate>
		<dc:creator>sägefisch</dc:creator>
				<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[GIT]]></category>
		<category><![CDATA[Kohana]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Versionierung]]></category>
		<category><![CDATA[chunk]]></category>
		<category><![CDATA[csv]]></category>
		<category><![CDATA[import]]></category>
		<category><![CDATA[kohana]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[stdclass]]></category>
		<category><![CDATA[xg]]></category>
		<category><![CDATA[xgchunker]]></category>
		<category><![CDATA[xgmanager]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://webpiraten.de/?p=322</guid>
		<description><![CDATA[webpiraten opensource auf github hat ein neues repo für den xgchunker als kohana 3 modul. er konvertiert riesige csv/xml dateien in kleine chunks als StdClass objekt, um sie dann weiter zu verarbeiten. github.com/webpiraten/xgchunker]]></description>
			<content:encoded><![CDATA[<p>webpiraten opensource auf github hat ein neues repo für den xgchunker als kohana 3 modul.</p>
<p>er konvertiert riesige csv/xml dateien in kleine chunks als StdClass objekt, um sie dann weiter zu verarbeiten.</p>
<p><a href="https://github.com/webpiraten/xgchunker">github.com/webpiraten/xgchunker</a></p>
]]></content:encoded>
			<wfw:commentRss>http://webpiraten.de/index.php/frameworks/xgchunker-kohana-3-modul-konvertiert-grosse-csvxml-dateien-in-stdclass-objekte/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>webpiraten auf github</title>
		<link>http://webpiraten.de/index.php/frameworks/kohana-framework/webpiraten-auf-github/</link>
		<comments>http://webpiraten.de/index.php/frameworks/kohana-framework/webpiraten-auf-github/#comments</comments>
		<pubDate>Tue, 17 May 2011 19:31:02 +0000</pubDate>
		<dc:creator>sägefisch</dc:creator>
				<category><![CDATA[Deployment]]></category>
		<category><![CDATA[GIT]]></category>
		<category><![CDATA[Kohana]]></category>
		<category><![CDATA[Versionierung]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[repo]]></category>
		<category><![CDATA[webpiraten]]></category>

		<guid isPermaLink="false">http://webpiraten.de/?p=319</guid>
		<description><![CDATA[endlich haben die webpiraten auch ihre opensource repos bei github am start. https://github.com/webpiraten]]></description>
			<content:encoded><![CDATA[<p>endlich haben die webpiraten auch ihre opensource repos bei github am start.</p>
<p><a href="https://github.com/webpiraten" title="webpiraten auf github">https://github.com/webpiraten</a></p>
]]></content:encoded>
			<wfw:commentRss>http://webpiraten.de/index.php/frameworks/kohana-framework/webpiraten-auf-github/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Das Kohana 3 Cheat Sheet</title>
		<link>http://webpiraten.de/index.php/frameworks/das-kohana-3-cheat-sheet/</link>
		<comments>http://webpiraten.de/index.php/frameworks/das-kohana-3-cheat-sheet/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 16:08:35 +0000</pubDate>
		<dc:creator>sägefisch</dc:creator>
				<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Kohana]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[cheat]]></category>
		<category><![CDATA[doc]]></category>
		<category><![CDATA[kohana]]></category>
		<category><![CDATA[sheet]]></category>

		<guid isPermaLink="false">http://webpiraten.de/?p=317</guid>
		<description><![CDATA[Kohana 3 Cheat Sheet]]></description>
			<content:encoded><![CDATA[<p><a href="http://kohana.sher.pl/cs/" title="Kohana 3 Cheat Sheet">Kohana 3 Cheat Sheet</a></p>
]]></content:encoded>
			<wfw:commentRss>http://webpiraten.de/index.php/frameworks/das-kohana-3-cheat-sheet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>kohana twitter api modul</title>
		<link>http://webpiraten.de/index.php/frameworks/kohana-twitter-api-modul/</link>
		<comments>http://webpiraten.de/index.php/frameworks/kohana-twitter-api-modul/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 19:45:58 +0000</pubDate>
		<dc:creator>sägefisch</dc:creator>
				<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Kohana]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[kohana]]></category>
		<category><![CDATA[modul]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://webpiraten.de/?p=260</guid>
		<description><![CDATA[Das Kohana Twitter API Modul macht es einem sehr einfach Twitter in seine Applikationen einzubeziehen. Hier gehts zum Kohana Projekt]]></description>
			<content:encoded><![CDATA[<p>Das Kohana Twitter API Modul macht es einem sehr einfach Twitter in seine Applikationen einzubeziehen.</p>
<p><a href="http://dev.kohanaframework.org/projects/twitter">Hier gehts zum Kohana Projekt</a></p>
]]></content:encoded>
			<wfw:commentRss>http://webpiraten.de/index.php/frameworks/kohana-twitter-api-modul/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agavi Custom Logger implementieren</title>
		<link>http://webpiraten.de/index.php/frameworks/agavi-custom-logger-implementieren/</link>
		<comments>http://webpiraten.de/index.php/frameworks/agavi-custom-logger-implementieren/#comments</comments>
		<pubDate>Fri, 07 May 2010 15:15:57 +0000</pubDate>
		<dc:creator>sägefisch</dc:creator>
				<category><![CDATA[Agavi]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[agavi]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[logger]]></category>
		<category><![CDATA[logging]]></category>

		<guid isPermaLink="false">http://webpiraten.de/?p=252</guid>
		<description><![CDATA[Um in Agavi custom logfiles zu erstellen, benötigt man einen eigens erstellten logger + appender in der app/config/logger.xml. Dann kann man den Logger quasi überall wo der LoggerManager verfügbar ist benutzen. Und in der bash das logfile einsehen.]]></description>
			<content:encoded><![CDATA[<p>Um in Agavi custom logfiles zu erstellen, benötigt man einen eigens erstellten logger + appender in der <strong>app/config/logger.xml</strong>.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!-- logs only custom messages in a custom log --&gt;
&lt;logger name=&quot;custom&quot; class=&quot;AgaviLogger&quot; level=&quot;'custom'&quot;&gt;
    &lt;appenders&gt;
        &lt;appender&gt;CustomLogAppender&lt;/appender&gt;
    &lt;/appenders&gt;
&lt;/logger&gt;

&lt;appender name=&quot;CustomLogAppender&quot; class=&quot;AgaviFileLoggerAppender&quot; layout=&quot;DateTimeLayout&quot;&gt;
    &lt;ae:parameters&gt;
        &lt;ae:parameter name=&quot;file&quot;&gt;%core.app_dir%/log/custom.log&lt;/ae:parameter&gt;
    &lt;/ae:parameters&gt;
&lt;/appender&gt;
</pre>
<p>Dann kann man den Logger quasi überall wo der LoggerManager verfügbar ist benutzen.</p>
<pre class="brush: php; title: ; notranslate">
$message = 'Custom logging message';
$this-&gt;getContext()-&gt;getLoggerManager()-&gt;log(new AgaviLoggerMessage($message, 'custom'), 'custom');
</pre>
<p>Und in der bash das logfile einsehen.</p>
<pre class="brush: bash; title: ; notranslate">
tail -f app/log/custom.log
</pre>
]]></content:encoded>
			<wfw:commentRss>http://webpiraten.de/index.php/frameworks/agavi-custom-logger-implementieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agavi routing specials</title>
		<link>http://webpiraten.de/index.php/frameworks/agavi-routing-specials/</link>
		<comments>http://webpiraten.de/index.php/frameworks/agavi-routing-specials/#comments</comments>
		<pubDate>Mon, 03 May 2010 13:32:32 +0000</pubDate>
		<dc:creator>sägefisch</dc:creator>
				<category><![CDATA[Agavi]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[agavi]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[header]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[http_accept]]></category>
		<category><![CDATA[http_x_requested_with]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[output]]></category>
		<category><![CDATA[routing]]></category>
		<category><![CDATA[specials]]></category>
		<category><![CDATA[types]]></category>

		<guid isPermaLink="false">http://webpiraten.de/?p=245</guid>
		<description><![CDATA[Um bestimmte Agavi output_types bei speziellen routings zu bedienen kann man die routing.xml wie folgt anpassen.]]></description>
			<content:encoded><![CDATA[<p>Um bestimmte Agavi output_types bei speziellen routings zu bedienen kann man die routing.xml wie folgt anpassen.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!-- cut out leading slash --&gt;
&lt;route name=&quot;slasher&quot; pattern=&quot;^/&quot; stop=&quot;false&quot; imply=&quot;true&quot; cut=&quot;true&quot; /&gt;

&lt;!-- match ajax calls with special http header --&gt;
&lt;route pattern=&quot;XMLHttpRequest&quot; source=&quot;_SERVER[HTTP_X_REQUESTED_WITH]&quot; stop=&quot;false&quot; output_type=&quot;ajax&quot; /&gt;

&lt;!-- match json calls with special http header --&gt;
&lt;route pattern=&quot;application/json&quot; source=&quot;_SERVER[HTTP_ACCEPT]&quot; stop=&quot;false&quot; output_type=&quot;json&quot; /&gt;

&lt;!-- cut out special pointer --&gt;
&lt;route name=&quot;portal&quot; pattern=&quot;^({portal:[a-zA-Z]{3}}/)?&quot; stop=&quot;false&quot; imply=&quot;true&quot; cut=&quot;true&quot;&gt;
    &lt;callbacks&gt;
        &lt;callback class=&quot;RoutingCallback&quot; /&gt;
    &lt;/callbacks&gt;
&lt;/route&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://webpiraten.de/index.php/frameworks/agavi-routing-specials/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PDF Dokumente mit Zend LiveDocx</title>
		<link>http://webpiraten.de/index.php/frameworks/pdf-dokumente-mit-zend-livedocx/</link>
		<comments>http://webpiraten.de/index.php/frameworks/pdf-dokumente-mit-zend-livedocx/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 09:01:18 +0000</pubDate>
		<dc:creator>sägefisch</dc:creator>
				<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SOAP]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[docx]]></category>
		<category><![CDATA[dokument]]></category>
		<category><![CDATA[livedocx]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[pdf2html]]></category>
		<category><![CDATA[phphatesme]]></category>

		<guid isPermaLink="false">http://webpiraten.de/?p=218</guid>
		<description><![CDATA[Ein sehr interessanter Ansatz zur Erzeugung von Dokumenten im Web wird bei phphatesme.com beschrieben. HTML-zu-PDF-Konvertierung und programmatischer Ansatz sind ja bekannt. Der neue Ansatz bedient sich einer SOAP Schnittstelle und Templates. Unter folgender URL gibts mehr dazu: phphatesme.com &#8211; PDF &#8230; <a href="http://webpiraten.de/index.php/frameworks/pdf-dokumente-mit-zend-livedocx/">weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ein sehr interessanter Ansatz zur Erzeugung von Dokumenten im Web wird bei <a href="http://phphatesme.com" target="_blank">phphatesme.com</a> beschrieben. HTML-zu-PDF-Konvertierung und programmatischer Ansatz sind ja bekannt. Der neue Ansatz bedient sich einer SOAP Schnittstelle und Templates. Unter folgender URL gibts mehr dazu: </p>
<p><a href="http://www.phphatesme.com/blog/webentwicklung/pdf-erzeugung-mit-dem-zend-framework/" target="_blank">phphatesme.com &#8211; PDF Dokumente mit Zend LiveDocx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://webpiraten.de/index.php/frameworks/pdf-dokumente-mit-zend-livedocx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eigene Configs in Agavi nutzen</title>
		<link>http://webpiraten.de/index.php/frameworks/eigene-configs-in-agavi-nutze/</link>
		<comments>http://webpiraten.de/index.php/frameworks/eigene-configs-in-agavi-nutze/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 00:15:31 +0000</pubDate>
		<dc:creator>graste</dc:creator>
				<category><![CDATA[Agavi]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[agavi]]></category>
		<category><![CDATA[ConfigHandler]]></category>
		<category><![CDATA[Konfiguration]]></category>
		<category><![CDATA[Schema]]></category>
		<category><![CDATA[Validierung]]></category>
		<category><![CDATA[XSD]]></category>

		<guid isPermaLink="false">http://webpiraten.de/?p=191</guid>
		<description><![CDATA[Eigene XML-Konfigurationsdateien mit Agavi definieren, validieren und verwenden. Eine kurze Einführung mit Beispielnutzung des AgaviReturnArrayConfigHandler. <a href="http://webpiraten.de/index.php/frameworks/eigene-configs-in-agavi-nutze/">weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Für diverse Aufgaben in größeren Projekten ist es notwendig, eigene XML-Konfigurationsdateien zu nutzen. Die Definition umfangreicher Einstellungen in der settings.xml wird schnell anstrengend und das Holen der Werte per <code>AgaviConfig::get('setting.name', 'default');</code> unübersichtlich. Agavi bietet es aber an, eigene Konfigurationsdateien zu erstellen und diese nicht nur zu validieren, sondern auch zur Wiederverwendung zu cachen.<br />
In der <a href="http://www.mivesto.de/agavi/agavi-faq.html#general_22">Agavi FAQ</a> habe ich dazu mal ein Beispiel verfasst.</p>
<p>Einfach einen Config-Handler in der <code>config_handlers.xml</code> definieren:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;handler pattern=&quot;%core.config_dir%/project/foo/*.xml&quot; class=&quot;AgaviReturnArrayConfigHandler&quot; /&gt;
</pre>
<p>und dann direkt in den Actions, Views und Models benutzen:</p>
<pre class="brush: php; title: ; notranslate">
if (!isset($config['baz']))
{
    throw new LogicException('baz is missing!');
}

if (isset($config['bars']))
{
    foreach ($config['bars'] as $foo =&gt; $data)
    {
        $this-&gt;doSomethingWithEach($foo, $data);
    }
}
</pre>
<p>Die XML-Datei für den obigen Code könnte beispielweise so aussehen:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;ae:configurations&gt;
    &lt;ae:configuration&gt;
        &lt;baz&gt;asdf&lt;/baz&gt;
        &lt;foo&gt;-1&lt;/foo&gt;
        &lt;bars&gt;
            &lt;some&gt;...more data and xml...&lt;/some&gt;
            &lt;more&gt;...more data and xml...&lt;/more&gt;
            &lt;deep&gt;...more data and xml...&lt;/deep&gt;
            &lt;structs&gt;...more data and xml...&lt;/structs&gt;
        &lt;/bars&gt;
    &lt;/ae:configuration&gt;
    &lt;ae:configuration environment=&quot;production.*&quot;&gt;
        &lt;baz&gt;bleh&lt;/baz&gt;
        &lt;foo&gt;1&lt;/foo&gt;
    &lt;/ae:configuration&gt;
&lt;/ae:configurations&gt;
</pre>
<p>Gut zu erkennen ist der Vorteil eigener Configs: Man kann die Agavi-Features für Konfigurationsdateien nutzen und auf einfache Art und Weise environmentspezifische Einstellungen vornehmen (z.B. in &#8220;Production&#8221; andere Werte für Logdateien, URLs oder Einstellungen nutzen als während der Entwicklung oder beim Testen).</p>
<p>Ebenfalls gut zu erkennen im PHP-Code ist, dass man lauter Abfragen über die Existenz bestimmer Elemente macht, die man sich mit vernünftiger Validierung sparen kann, da invalide XML-Dokumente gar nicht erst als korrekt angesehen werden von Agavi. Um seine XML-Strukturen zu validieren definiert man per <code>validation</code> Parameter ein XML-Schema und definiert noch gleich einen eigenen ConfigHandler, den man schreibt und per <code>autoload.xml</code> bekannt macht:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;handler pattern=&quot;%core.config_dir%/project/foo/*.foo.xml&quot; class=&quot;FooDefinitionConfigHandler&quot;&gt;
    &lt;validation&gt;%core.config_dir%/xsd/foo_definition.xsd&lt;/validation/&gt;
&lt;/handler&gt;
</pre>
<p>Der ConfigHandler könnte so beginnen:</p>
<pre class="brush: php; title: ; notranslate">
class FooDefinitionConfigHandler extends AgaviXmlConfigHandler
{
    // notwendige Methoden implementieren und XML-Struktur validieren...
}
</pre>
<p>Für Beispiele einfach in die in Agavi verwendeten XSDs und entsprechende ConfigHandler sehen. Viel Spaß. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://webpiraten.de/index.php/frameworks/eigene-configs-in-agavi-nutze/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

