TYPO3 Flow

TYPO3 Flow ( originally FLOW3 ) is a free application written in PHP framework, whose first final version was released on 20 October 2011. Although it was designed primarily as a basis for the content management system TYPO3 Neos, but can also be used independently of it. It is generally suitable for the development of software in PHP with a medium or high extent.

  • 5.1 initiative
  • 5.2 coordination
  • 5.3 Approach of TYPO3 CMS

History

In 2006, the first consideration was given to a successor of TYPO3 and thus to TYPO3 flow.

Since 2007, Robert Lemke and Karsten Dambekalns work full time on the development of TYPO3 flow. In the same year concrete efforts began to develop a new CMS, code-named "Phoenix", what was initially provided a refactoring of the core. However, it soon became clear that new concepts would have required major changes that would ultimately jeopardize the stability of the system. So it was decided to separate for the new version of the old code base that is rooted in the beginnings of TYPO3 and is partially not object-oriented.

The aim was to create a modern and future-proof basis for further TYPO3 versions. Along with the use of modern concepts, techniques and design patterns, developers had to struggle at the beginning, among other problems with the newly introduced in PHP 5.3 and then still faulty implementation of namespaces.

In June 2009, appeared with FLOW3 1.0.0, the first alpha version. In October 2011, the final version was released. Currently the system of several large corporations in Germany is used. In October 2012 it was announced that FLOW3 is further developed in the future under the name of TYPO3 flow.

TYPO3 flow serves as the foundation for the original as TYPO3 5.0 (formerly Phoenix) .. planned CMS project Neos

Paradigms

The developers of TYPO3 Flow rely on a number of paradigms and design patterns, some of which are to be regarded in the PHP scene as innovative. These conventions help the programmer to program and clean to avoid errors. Among the most important are:

  • MVC
  • Aspect-Oriented Programming
  • Domain - Driven Design
  • Dependency Injection
  • Test-driven development
  • Signal - slot concept

When programming TYPO3 flow was consciously designed that even - written code has minimal dependencies on the API of TYPO3 flow. This allows modules (eg Symfony ) were originally written for other systems to use with minimal effort with TYPO3 flow. In this way, self - written code continue to be used, without modification in the code changes based on TYPO3 flow in many cases.

TYPO3 flow is based as on some basic principles, which are transparent to the user and make him work as simple as possible. Thus, the user can, for example, spend customer information by writing only three or four lines of PHP code and created a fluid template with HTML code. If the user has this follows the conventions, the TYPO3 Flow Framework will automatically apply its features to the code (for example, its security baselines ).

Fluid Template Engine

TYPO3 flow has its own template engine called fluid. Although there are a number of template engines, not sufficient for the requirements of the developer. In the design of fluid, the focus was on the following properties:

  • Support logic ( such as conditions, loops or iteration over arrays)
  • Prohibition of PHP code in the template file
  • Easy to expand
  • Simple syntax
  • To enable XML structure to an automated validation of templates

An example:

   Title: { } post.title
blog posts is a PHP array that needs to be passed to the fluid in the PHP code. In the template can be with this example iterate over this array and print the title of each post object.

The tags that can be used in the template for the control and manipulation of the output are called ViewHelper. With the ability to develop relatively simple self ViewHelper the extensibility of fluid is given.

Development

On 2 June 2009 appeared with FLOW3 1.0.0 Alpha 1 is the first build.

In the aftermath appeared about a month a total of 14 alpha versions, to FLOW3 in August 2011 was ripe for the beta phase. In this early development period, the API has naturally changed yet; partly so that it is not backwards compatible.

The FLOW3 team itself currently consists of about eleven developers working actively in the framework. In addition, so-called early adopters who are already using the system for different purposes and provide feedback.

On 20 August 2011, just over two years after the release of the first alpha version, the final version 1.0.0 has been released.

Important versions

The current state of development can be traced in the Git repository and the bug tracker.

Related to TYPO3

Initiative

TYPO3 flow was initiated by the TYPO3 community and is produced largely by TYPO3 -core developers. The primary goal is to provide a basis for the new CMS TYPO3 Neos.

Coordination

The development and publication of TYPO3 flow is - sponsored by the TYPO3 Association - just like the TYPO3 CMS.

Approximation of TYPO3 CMS

To facilitate the community later the migration and the migration of modules of TYPO3 CMS ( versions 4 and 6) TYPO3 flow, since TYPO3 4.3 coming techniques were many in TYPO3 flow ported for use. This also developed in the course of TYPO3 template engine fluid flow. With a sample extension on Extbase basis, the possibility was demonstrated to use already with the release of TYPO3 4.3 paradigms such as MVC or Domain Driven Design in practice.

In addition, the new concepts as the widespread 4.x branch can be tested by TYPO3, which facilitates the subsequent porting to Neos.

This approach of TYPO3 CMS TYPO3 flow was decided on the Transition Days 2008 in Berlin. 2012, the renaming of FLOW3 TYPO3 flow was announced in the course of. The developers are hoping to make the brand TYPO3 to the center and clarify the relationship to the CMS stronger.

339015
de