<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Agavi</id>
	<title>Agavi - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Agavi"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Agavi&amp;action=history"/>
	<updated>2026-05-31T16:21:44Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Agavi&amp;diff=1445733&amp;oldid=prev</id>
		<title>imported&gt;Wikinger08: Änderung 192849216 von 2A02:8106:230:AB00:5C53:8ED:6D10:1303 rückgängig gemacht; ungültiger Löschantrag, bitte Löschregeln beachten</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Agavi&amp;diff=1445733&amp;oldid=prev"/>
		<updated>2019-10-05T13:14:07Z</updated>

		<summary type="html">&lt;p&gt;Änderung 192849216 von &lt;a href=&quot;/index.php/Spezial:Beitr%C3%A4ge/2A02:8106:230:AB00:5C53:8ED:6D10:1303&quot; title=&quot;Spezial:Beiträge/2A02:8106:230:AB00:5C53:8ED:6D10:1303&quot;&gt;2A02:8106:230:AB00:5C53:8ED:6D10:1303&lt;/a&gt; rückgängig gemacht; ungültiger Löschantrag, bitte &lt;a href=&quot;/index.php?title=WP:LR&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;WP:LR (Seite nicht vorhanden)&quot;&gt;Löschregeln&lt;/a&gt; beachten&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox Software&lt;br /&gt;
| Logo                         =&lt;br /&gt;
| AktuelleVersion              = 1.0.8&lt;br /&gt;
| AktuelleVersionFreigabeDatum = 29. Juni 2015&lt;br /&gt;
| Betriebssystem               = [[Plattformunabhängigkeit|plattformübergreifend]]&lt;br /&gt;
| Programmiersprache           = [[PHP]]&lt;br /&gt;
| Kategorie                    = [[Webframework]]&lt;br /&gt;
| Lizenz                       = [[GNU Lesser General Public License|LGPL]]&lt;br /&gt;
| Website                      = [http://www.agavi.org/ www.agavi.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Agavi&amp;#039;&amp;#039;&amp;#039; ist ein [[Freie Software|freies]] [[Webframework]]. Es ist objektorientiert in [[PHP]] 5 implementiert und gemäß dem Architekturmuster &amp;#039;&amp;#039;[[Model View Controller]]&amp;#039;&amp;#039; aufgebaut.&lt;br /&gt;
&lt;br /&gt;
== Geschichte ==&lt;br /&gt;
Ähnlich wie [[Symfony]] basiert Agavi ursprünglich auf der nie veröffentlichten Version 3 des einst populären PHP-Frameworks [[Mojavi]], das vom US-Amerikaner Sean Kerr in Eigenregie entwickelt und schließlich eingestellt wurde.&lt;br /&gt;
&lt;br /&gt;
Gegründet wurde das Projekt Anfang Mai 2005, als ein Team von Software-Entwicklern in [[Keller (Texas)]] aus Unzufriedenheit mit dem trotz der Open-Source-Lizenz geschlossenen und unklaren Entwicklungsprozess einen [[Abspaltung (Softwareentwicklung)|Abspaltung]] des PHP-Frameworks &amp;#039;&amp;#039;[[Mojavi]]&amp;#039;&amp;#039; starteten, mit dem Vorsatz, unter Einbeziehung der Community und mit einer offengelegten Roadmap ein Framework als Gemeinschaftsprojekt zu entwickeln.&lt;br /&gt;
&lt;br /&gt;
Seit Anfang 2006 sind die ursprünglichen Gründer des Projekts aus Zeitmangel nicht mehr von der Partie; Agavi wird seitdem von einem internationalen Team unter Federführung eines Unternehmens aus [[München]] weiterentwickelt.&lt;br /&gt;
&lt;br /&gt;
== Philosophie und Besonderheiten ==&lt;br /&gt;
Im Vergleich zu anderen [[Framework]]s beschränkt sich Agavi auf die Aufgaben, die klassischerweise in die [[Problemdomäne]] eines Frameworks fallen, und überlässt zum Beispiel die [[Objektrelationale Abbildung]] darauf spezialisierten Projekten. Dadurch soll ein &amp;#039;&amp;#039;[[Lock-in-Effekt|Vendor Lock-In]]&amp;#039;&amp;#039; vermieden werden, bei dem bestimmte Funktionalitäten des Frameworks nur beim Einsatz eines bestimmten [[Objektrelationale Abbildung|ORMs]], einer bestimmten [[Template-Engine]] usw. einsetzbar wären.&lt;br /&gt;
&lt;br /&gt;
Das Hauptaugenmerk liegt auf sauberem Code-Aufbau in den Applikationen unter strikter Trennung von Verantwortlichkeiten. Im Gegensatz zu vergleichbaren Web-Frameworks ist es mit Agavi in der Praxis tatsächlich möglich, den gleichen Code ohne Änderungen an bestehender Struktur und Logik auch unter anderen Bedingungen zu verwenden und so beispielsweise in einer bestehenden Web-Anwendung eine [[Webservice]]-Schnittstelle nachzurüsten, so wie es die MVC-Architektur eigentlich vorsieht. Der anfängliche Aufwand für die Erstellung einer Software ist dabei jedoch höher als mit anderen Frameworks, die sich darauf spezialisiert haben, Entwicklern bei der Erzielung schneller Ergebnisse zu unterstützen. Agavi enthält standardmäßig beispielsweise auch keine Unterstützung für [[Web Application Framework#Scaffolding|Scaffolding]] (letztlich eine Konsequenz aus der Entscheidung, kein ORM mitzuliefern).&lt;br /&gt;
&lt;br /&gt;
Eine Agavi-Applikation kann beliebige Umgebungen (z.&amp;amp;nbsp;B. für Produktion, Staging, Entwicklungsumgebung einzelner Programmierer) und Kontexte (z.&amp;amp;nbsp;B. Web, Kommandozeile, SOAP) definieren und darin ablaufen. Konfigurationsoptionen können dabei für beliebige Kombinationen von Umgebungen und Kontexten gesetzt werden, so dass beispielsweise die besonderen Request-Datenquellen beim Betrieb hinter einem [[Load Balancer]] für die Produktionsumgebung separat festlegbar sind, oder jeder Entwickler seine eigene Datenbank-Konfiguration hinterlegen kann, ohne andere Einstellungen zu überschreiben. Dadurch vereinfacht sich das Deployment einer Applikation erheblich.&lt;br /&gt;
&lt;br /&gt;
Eine weitere Besonderheit ist der starke Fokus auf XML für die Konfiguration, der beispielsweise über Standardtechnologien wie [[XInclude]]s und [[XSLT]] eine einfache Modularisierung gestattet, oder Konfigurationsformate über [[Namensraum (XML)|XML-Namensräume]] versioniert werden, um Rückwärtskompatibilität sicherzustellen. Ebenfalls unterstützt werden [[XML Schema]], [[RELAX NG]] und [[Schematron]] für die Validierung.&lt;br /&gt;
&lt;br /&gt;
== Merkmale ==&lt;br /&gt;
* Kompatibel mit PHP5&lt;br /&gt;
* Konfiguration über XML&lt;br /&gt;
* Unterstützung für alle gängigen Datenbank-Abstraktionsschnittstellen und [[Objektrelationale Abbildung|ORMs]]&lt;br /&gt;
* Routing inklusive Rückwärtsgenerierung, nicht auf URLs beschränkt&lt;br /&gt;
* Flexible Seitengestaltung mit beliebig vielen geschachtelten Vorlagen&lt;br /&gt;
* Unterstützung für beliebige [[Template-Engine]]s&lt;br /&gt;
* Formularbehandlung (Fehlermarkierung, Fehlermeldungen, Befüllen von Formularen) unabhängig von der verwendeten Template-Engine&lt;br /&gt;
* Mehrsprachigkeit und [[I18N]]-Unterstützung&lt;br /&gt;
* Validierung für &amp;#039;&amp;#039;&amp;#039;alle&amp;#039;&amp;#039;&amp;#039; Eingabedaten (z.&amp;amp;nbsp;B. auch HTTP-Header, Cookies, Hochladen von Dateien)&lt;br /&gt;
* Flexibles Caching auch von Teilen einer Seite&lt;br /&gt;
* Keine mitgelieferten HTML-„Helper“, keine Bindung an ein ORM, keine Javascript-Bibliothek o.&amp;amp;nbsp;ä.&lt;br /&gt;
&lt;br /&gt;
== Rezeption ==&lt;br /&gt;
* {{Literatur | Autor= | Titel=Web-Programmierung | Sammelwerk=[[iX – Magazin für professionelle Informationstechnik]] | Nummer=5 | Seiten=40 | Datum=2009 | Online= }}&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
=== Ähnliche Projekte ===&lt;br /&gt;
* [[Zend Framework]]&lt;br /&gt;
* [[Symfony]]&lt;br /&gt;
* [[CakePHP]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.agavi.org/ Offizielle Website] (englisch)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Freie Server-Software]]&lt;br /&gt;
[[Kategorie:Freies PHP-Webframework]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Wikinger08</name></author>
	</entry>
</feed>