Wizards Fugue - Ein Framework zum verbinden von Frameworks

Das Wizards Fugue Projekt beschäftigt sich mit den verschiedenen Frameworks der PHP Welt und soll helfen aus verschiedenen Frameworks eine Komposition zu konzipieren, die den Anforderungen des eigenen usecases näher kommt als es die teilweise monolithisch aufgebauten Frameworks derzeit erlauben.

Wer aus der Symfony Welt kommt, dem ist große Anpassbarkeit und Modularisierung bereits ein gut bekanntes Konzept. Nicht nur, dass es bereits einige Symfony Distributionen gibt, es gibt auch viele microframeworks und sogar Namenhafte Applicationen, die teile von Symfony in Ihre Struktur integriert haben. Mit dem Wizards Fugue Projekt will ich diese Vorteile auch in andere Frameworks bringen. Aus Gründen ist dabei Magento meine erste Wahl.

Um einen kleinen Einblick in die zu lösenden Problematiken zu geben liste ich hier einmal alle nötigen, und teils auch bereits getanen Schritte auf.

Zunächst einmal ist eine komplete Integeration mit Composer.php nötig. Mit dem Magento Composer Installer wurde da bereits schon ein recht guter Anfang geleistet. Es ist möglich Magento Module zu installieren und in Theorie sogar das komplette Magento. Gerade die Magento Installation ist derzeit jedoch mit keinem akzeptablen Workflow in Einklang zu bringen. Ein weiterer Schritt den ich selbst bereits im testen bin, ist das verwenden des composer autoloaders statt des Magento eigenen. Der nächste Schritt der gelöst werden muss, ist das sämtliche Bestandteile von Magento auch aus dem vendor Verzeichnis herraus funktionieren. Die Problematik hier ist, dass eine bestimmte Ordnerstruktur erwartet wird und teils stark auf relative Pfade gesetzt wird. Hier wird es also nötig sein Kern Bestandteile von Magento anzupassen. Dank dem doch recht modularen Aufbau von Magento wäre dies glücklicherweise tatsächlich für Teilbereiche möglich, ohne direkt ganz Magento forken zu müssen.

Später wird es dann nötig sein Module zu erstellen, die es erlauben externe User Systeme für Magento zu nutzen. Das ist deshalb recht wichtig, da man bei mehreren Systemen für gewöhnlich eine zentrale Userverwaltung haben möchte.
Zusätzlich wird es dann eine menge Doku erfordern wie verschiedene Systeme sauber mit Magento in einklang gebracht werden können. Erster Fokus wird dabei auf CMS Systeme liegen, da hier die Nachfrage eindeutig am größten ist.

http://en.wikipedia.org/wiki/Fugue