Flow is a PHP-based application framework. It is especially well-suited
for enterprise-grade applications and explicitly supports Domain-Driven
Design, a powerful software design philosophy. Convention over
configuration, Test-Driven Development, Continuous Integration and an
easy-to-read source code are other important principles we follow for
the development of Flow.

Although we created Flow as the foundation for the Neos Content
Management System, its approach is general enough to be useful as a
basis for any other PHP application. We’re happy to share the Flow
framework with the whole PHP community and are looking forward to the
hundreds of new features and enhancements contributed as packages by
other enthusiastic developers.

This reference describes all features of Flow and provides you with
in-depth information. If you’d like to get a feeling for Flow and get
started quickly, we suggest that you try out our Getting Started
tutorial first.

The AOP framework enables you to use the powerful techniques of
Aspect Oriented Programming.

The Persistence module allows you to transparently persist your
objects following principles of Domain Driven Design.

The Security framework enforces security policies and provides an
API for managing those.

The Session framework takes care of session handling and storing
session information in different backends

The I18n service manages languages and other regional settings
and makes them accessible to other packages and Flow sub packages.

The Utility module is a library of useful general-purpose functions
for file handling, algorithms, environment abstraction and more.

If you are overwhelmed by the amount of information in this reference,
just keep in mind that you don’t need to know all of it to write your
own Flow packages. You can always come back and look up a specific
topic once you need to know about it - that’s what references are for.

But even if you don’t need to know everything, we recommend that you get
familiar with the concepts of each module and read the whole manual.
This way you make sure that you don’t miss any of the great features
Flow provides and hopefully feel inspired to produce clean and
easy-maintainable code.