Domain-Driven Design
Ein weiteres Programmierparadigma, das in der PHP-Welt bislang technisch nicht umsetzbar war, ist das Domain-Driven Design. Darunter versteht man eine spezielle Herangehensweise an das Design objektorientierter Software, um die Produktivität komplexer Softwareprojekte in der agilen Softwareentwicklung zu steigern. Voraussetzung ist die Gliederung der Software in eine Schichtenarchitektur. So können sich Entwickler ganz auf die Umsetzung der jeweiligen Geschäftslogik konzentrieren, da Nebenschauplätze wie Persistenz oder Sicherheit in der Modellierung ausgeblendet werden. Programmierer entwickeln ausschließlich PHP-Objekte mit entsprechender Dokumentation. FLOW3 bietet erstmals die für diesen Ansatz notwendige Unterstützung, indem es die Infrastruktur-Aspekte eines Projekts nahezu transparent zur Verfügung stellt.
Dependency Injection
Foto: TYPO3 Assocation
Neu ist auch der Ansatz der Dependency Injection. Dadurch lassen sich Abhängigkeiten zwischen Komponenten in einem objektorientierten System minimieren. Anders als in klassisch aufgebauten, objektorientierten Systemen überträgt Dependency Injection die Verantwortung für die Erzeugung und Verknüpfung von Objekten an ein externes Framework. Das macht den Code des Objekts unabhängig von seiner Umgebung und der konkreten Umsetzung der Klassen. Während in herkömmlichen Anwendungen alle Abhängigkeiten innerhalb der Objekte selbst festgelegt sind, sorgt Dependency Injection für die Reduktion starrer Abhängigkeiten. Es ist möglich, FLOW3-Komponenten je nach Laufzeitumgebung und Konfiguration auszutauschen und optimal an die individuelle Situation der Anwendung anzupassen. Entwickler werden durch Dependency Injection in die komfortable Lage versetzt, Code nur einmal zu programmieren, um diesen dann an beliebig vielen Stellen und für beliebig viele Extensions verwenden zu können. Im Gegensatz zu anderen Dependency Injection-Lösungen für PHP benötigt FLOW3 in den meisten Fällen keine externe Konfiguration und bedeutet damit einen echten Produktivitätsgewinn.
Neue Lizenz
Nicht nur aus technischer Perspektive bringt FLOW3 viele Neuerungen mit sich. Auch die Lizenz wurde angepasst. Das Projekt ist nun unter der LGPL, auch Lesser GPL genannt, lizenziert. Aufgrund der neuen Lizenz lässt sich FLOW3 in freien und kommerziellen Projekten ohne Einschränkung und unter Wahrung der Urheberrechte einsetzen. Es ist nicht mehr länger nötig, den Quellcode von FLOW3-basierten Softwarelösungen offenzulegen. Davon profitieren insbesondere Unternehmen, die mithilfe von FLOW3 eine eigene Software entwickeln möchten: Sie erreichen mehr Investitionssicherheit und einen besseren Schutz ihres geistigen Eigentums.
Für den gehobenen Anspruch
Foto: TYPO3 Assocation
FLOW3 ist ein in der PHP-Welt einzigartiges Framework. Es überzeugt durch seinen Fokus auf eine saubere Umsetzung, durch einfache Administrierbarkeit und durch den Einsatz modernster Technologien. Das Entwicklerteam erhebt keinen geringeren Anspruch, als mit FLOW3 das umfassendste Enterprise-Ready-PHP-Framework überhaupt entwickelt zu haben. Denn FLOW3 erfüllt von Hause aus viele Anforderungen, die für Enterprise-Projekte wesentlich sind: In Content Delivery Networks ermöglicht die Resource-Abstraktion von FLOW3 etwa automatisch den Zugriff auf benötigte Grafiken und Dateien und speichert diese an der richtigen Stelle. Auch das Caching Framework ist so flexibel ausgelegt, dass in Cloud-Umgebungen je nach Bedarf auch zentrale Cache-Server genutzt werden können. Ebenso ist das Session-Handling auf den Betrieb hinter Load Balancern (Serverlastverteilern) vorbereitet. Demnächst wird es auch ein FLOW3 Package Repository geben: Wie in einem Onlineshop können Entwickler dort Extensions kostenlos herunter- und hochladen. Damit steht schon heute fest: FLOW3 wird in Zukunft das System der Wahl für anspruchsvolle PHP-Projekte werden - ob mit oder ohne TYPO3. (sh)