© saicle/Shutterstock.com
PHP Magazin
Kurz und bündig: Das ist neu in TYPO3 Flow 2.0

Kurz und bündig: Das ist neu in TYPO3 Flow 2.0


Das PHP-Framework TYPO3 Flow ist schon seit 2011 verfügbar und bereits seit Version 1.0 in größeren Projekten im Produktivbetrieb. Mit Erscheinen der Version 2.0 im Juli hat das Projekt wieder einen großen Schritt nach vorn gemacht [1].

Flow ist ein Framework zur Entwicklung von komplexen PHP-Applikationen, das neben den üblichen Funktionen wie einem MVC-Stack und Templating vor allem Einflüsse aus anderen Programmiersprachen in die PHP-Welt einbringt. Denn die Unterstützung für Domain-driven Design, aspektorientiertes Programmieren (AOP) oder Dependency Injection (DI) ist nicht nur der Garant für den Sieg im Buzzword-Bingo: Damit wird es möglich, sich in komplexen Projekten auf den Kern des Problems zu konzentrieren, anstatt auf den Kampf mit der Infrastruktur.

Entstanden ist Flow im Rahmen der Entwicklung des Content-Management-Systems Neos im TYPO3-Projekt. Bereits 2006 wurde begonnen, die nächste Generation des bekannten, webbasierten TYPO3-CMS zu entwickeln, und nach einer langen Alpha-Phase wurde das Framework 2011 unter dem Namen FLOW3 veröffentlicht. Im Oktober 2012 wurde im Zuge eines Re­branding der Name in TYPO3 Flow geändert [2].

Neuerungen in Flow 2.0

Die Arbeiten an Flow 2.0 begannen noch unter dem Namen FLOW3 und sollten als Version 1.2 veröffentlicht werden. Nach dem Rebranding und dem damit veränderten Namen, der sich auch in den im PHP-Code verwendeten Namespaces auswirkte, war das jedoch nicht mehr tragbar, da wir mit dem Projekt den Regeln des Semantic Versioning [3] folgen. Auch ohne die Umbenennung enthält die neue Version viele Verbesserungen und neue Features, dass ein Release als 2.0 die einzige Option darstellte.

Lazy Dependency Injection

Die Nutzung von Dependency Injection in Flow ist im Normalfall um einiges leichter als in anderen Frameworks, da Flow hier, soweit möglich, die nötigen Informationen aus dem Code herausliest. So ist Property Injection in wenigen Zeilen möglich:

/** * @Flow\Inject * @var \RobertLemke\Example\Bookshop\Doma...
PHP Magazin
Kurz und bündig: Das ist neu in TYPO3 Flow 2.0

Kurz und bündig: Das ist neu in TYPO3 Flow 2.0

Das PHP-Framework TYPO3 Flow ist schon seit 2011 verfügbar und bereits seit Version 1.0 in größeren Projekten im Produktivbetrieb. Mit Erscheinen der Version 2.0 im Juli hat das Projekt wieder einen großen Schritt nach vorn gemacht [1].

Karsten Dambekalns


Das PHP-Framework TYPO3 Flow ist schon seit 2011 verfügbar und bereits seit Version 1.0 in größeren Projekten im Produktivbetrieb. Mit Erscheinen der Version 2.0 im Juli hat das Projekt wieder einen großen Schritt nach vorn gemacht [1].

Flow ist ein Framework zur Entwicklung von komplexen PHP-Applikationen, das neben den üblichen Funktionen wie einem MVC-Stack und Templating vor allem Einflüsse aus anderen Programmiersprachen in die PHP-Welt einbringt. Denn die Unterstützung für Domain-driven Design, aspektorientiertes Programmieren (AOP) oder Dependency Injection (DI) ist nicht nur der Garant für den Sieg im Buzzword-Bingo: Damit wird es möglich, sich in komplexen Projekten auf den Kern des Problems zu konzentrieren, anstatt auf den Kampf mit der Infrastruktur.

Entstanden ist Flow im Rahmen der Entwicklung des Content-Management-Systems Neos im TYPO3-Projekt. Bereits 2006 wurde begonnen, die nächste Generation des bekannten, webbasierten TYPO3-CMS zu entwickeln, und nach einer langen Alpha-Phase wurde das Framework 2011 unter dem Namen FLOW3 veröffentlicht. Im Oktober 2012 wurde im Zuge eines Re­branding der Name in TYPO3 Flow geändert [2].

Neuerungen in Flow 2.0

Die Arbeiten an Flow 2.0 begannen noch unter dem Namen FLOW3 und sollten als Version 1.2 veröffentlicht werden. Nach dem Rebranding und dem damit veränderten Namen, der sich auch in den im PHP-Code verwendeten Namespaces auswirkte, war das jedoch nicht mehr tragbar, da wir mit dem Projekt den Regeln des Semantic Versioning [3] folgen. Auch ohne die Umbenennung enthält die neue Version viele Verbesserungen und neue Features, dass ein Release als 2.0 die einzige Option darstellte.

Lazy Dependency Injection

Die Nutzung von Dependency Injection in Flow ist im Normalfall um einiges leichter als in anderen Frameworks, da Flow hier, soweit möglich, die nötigen Informationen aus dem Code herausliest. So ist Property Injection in wenigen Zeilen möglich:

/** * @Flow\Inject * @var \RobertLemke\Example\Bookshop\Doma...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang