Getting started

Here's how to get into the flow:

  1. Kickstart your first package

    Go to /var/www/screensports.de/subdomains/alice/httpdocs
    and run
    ./flow kickstart:package MyCompany.MyPackage
    to create a package with a standard controller

  2. Test your controller

    "MyCompany.MyPackage" has either not yet been created or not activated. Follow step 1 and reload this page.

    If you named your package "SomethingElse" visit https://screensports.de/SomethingElse/

  3. Read the tutorial

    Switch over to the Quickstart Tutorial to get the a first overview.

  4. Deactivate the Welcome package (optional)

    Deactivate the Welcome package with
    ./flow package:deactivate TYPO3.Welcome

    Afterwards make sure to remove the "Welcome" SubRoute definition from the global routes in Configuration/Routes.yaml.


About Flow

Flow is an offspring from the development of Neos and can be used independently as an application framework. It is licensed under the terms of the MIT license.


Many people have contributed to Flow with ideas, design, testing, money, code and espresso. A big thank you goes to the community and the members of the TYPO3 Association who made the development of Flow possible in the first years.

The main part of Flow was designed and developed by Robert Lemke. The persistence integration was developed and major contributions to Flow were made by Karsten Dambekalns. Andreas Förthner designed and developed the Security Framework while Bastian Waidelich created the initial implementation of Flow's routing mechanism. Sebastian Kurfürst and Bastian Waidelich designed and implemented the Fluid templating engine.

Further code contributions were made by the Neos team and others: Adrian Föder, Alexander Stehlik, Andreas Wolf, Aske Ertmann, Bernhard Fischer, Christian Jul Jensen, Christian Kuhn, Christian Müller, Christopher Hlubek, Daniel Brün, Felix Oertel, Ferdinand Kuhl, Irene Höppner, Jochen Rau, Johannes Künsebeck, Julian Kleinhans, Julian Wachholz, Karol Gusak, Lars Peipmann, Lienhart Woitok, Marco Huber, Martin Brüggemann, Martin Ficzel, Michael Klapper, Michael Sauter, Nils Jeisecke, Oliver Hader, Rens Admiraal, Sascha Egerer, Stefan Neufeind, Stephan Schuler, Thomas Hempel, Thomas Layh, Tim Eilers, Tobias Liebig, Tolleiv Nietsch and Zach Davis.

The initial design of the AOP framework and the IoC container were inspired by the viFramework developed by Florian Grandel who also pointed Robert to the Spring Framework which was a great source for inspiration. Further frameworks and projects which influenced the design of Flow are AspectJ, NanoContainer, Ruby on Rails, Symfony, QT and surely more.

The overall design and concepts would be way less mature and elegant if experts like Martin Fowler, Eric Evans, Jimmy Nilsson, Kent Beck or Paul Duvall wouldn't have shared their insights in books and talks.

Many more contributions have been made by various members of the TYPO3 and PHP community - thanks to all of you!

Installed Packages

  • Neos.Utility.Files

    Flow Files Utilities

  • TYPO3.Flow.Utility.Lock

    Flow Locking Implementation

  • Neos.Utility.ObjectHandling

    Flow array/object property and type utilities

  • Neos.Utility.Arrays

    Flow Array Utilities

  • Neos.Utility.MediaTypes

    Flow Media Types Utilities

  • Neos.Utility.OpcodeCache

    Flow Opcode Cache Utilities

  • Neos.Utility.Pdo

    Flow PDO Utilities

  • TYPO3.Flow.Error

    Flow error messages

  • Neos.Utility.Schema

    Flow Schema Utilities

  • TYPO3.Flow.Utility.Unicode

    Flow Unicode Utilities

  • paragonie.randomcompat

    PHP 5.x polyfill for random_bytes() and random_int() from PHP 7

  • ramsey.uuid

    Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).

  • Doctrine.Common.Collections

    Collections Abstraction library

  • Doctrine.Common.Inflector

    Common String Manipulations with regard to casing and singular/plural rules.

  • doctrine.cache

    Caching library offering an object-oriented API for many cache backends

  • Doctrine.Common.Lexer

    Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.

  • doctrine.annotations

    Docblock Annotations Parser

  • doctrine.common

    Common Library for Doctrine projects

  • Doctrine.DBAL

    Database Abstraction Layer

  • doctrine.instantiator

    A small, lightweight utility to instantiate objects in PHP without invoking their constructors

  • symfony.polyfillmbstring

    Symfony polyfill for the Mbstring extension

  • psr.log

    Common interface for logging libraries

  • symfony.debug

    Symfony Debug Component

  • symfony.console

    Symfony Console Component

  • Doctrine.ORM

    Object-Relational-Mapper for PHP

  • symfony.yaml

    Symfony Yaml Component

  • zendframework.zendeventmanager

    Trigger and listen to events within a PHP application

  • zendframework.zendcode

    provides facilities to generate arbitrary code using an object oriented interface

  • ocramius.packageversions

    Composer plugin that provides efficient querying for installed package versions (no runtime IO)

  • ocramius.proxymanager

    A library providing utilities to generate, instantiate and generally operate with Object Proxies

  • doctrine.migrations

    Database Schema migrations using Doctrine DBAL

  • symfony.domcrawler

    Symfony DomCrawler Component

  • neos.composerplugin

    Flow Composer Plugin

  • phpdocumentor.reflectioncommon

    Common reflection classes used by phpdocumentor to reflect the code structure

  • phpdocumentor.typeresolver

  • TYPO3.Eel

    The Embedded Expression Language (Eel) is a building block for creating Domain Specific Languages

  • TYPO3.Flow

    Flow Application Framework

  • TYPO3.Fluid

    Next-Generation Templating Framework for Flow and Neos

  • Flowpack.Behat

    Behat support package for TYPO3 Flow

  • TYPO3.Welcome

    This package provides a start screen for the Flow framework with links to online resources.

  • DerSkarge.Alice

    Add description here

  • TYPO3.Kickstart

    A simple generator for controller and views.

  • webmozart.assert

    Assertions to validate method input/output with nice error messages.

  • phpdocumentor.reflectiondocblock

    With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.

  • sebastian.diff

    Diff implementation

  • sebastian.recursioncontext

    Provides functionality to recursively process PHP variables

  • sebastian.exporter

    Provides the functionality to export PHP variables for visualization

  • sebastian.comparator

    Provides the functionality to compare PHP values for equality

  • phpspec.prophecy

    Highly opinionated mocking framework for PHP 5.3+

  • myclabs.deepcopy

    Create deep copies (clones) of your objects

  • org.bovigo.vfs

    Virtual file system to mock the real file system in unit tests.

  • sebastian.globalstate

    Snapshotting of global state

  • sebastian.version

    Library that helps with managing the version number of Git-hosted PHP projects

  • sebastian.codeunitreverselookup

    Looks up which function or method a line of code belongs to

  • sebastian.objectenumerator

    Traverses array structures and object graphs to enumerate all referenced objects

  • sebastian.resourceoperations

    Provides a list of PHP built-in functions that operate on resources

  • sebastian.environment

    Provides functionality to handle HHVM/PHP environments

  • phpunit.phpfileiterator

    FilterIterator implementation that filters files based on a list of suffixes.

  • phpunit.phptexttemplate

    Simple template engine.

  • phpunit.phptokenstream

    Wrapper around PHP's tokenizer extension.

  • phpunit.phpcodecoverage

    Library that provides collection, processing, and rendering functionality for PHP code coverage information.

  • phpunit.phptimer

    Utility class for timing

  • phpunit.phpunitmockobjects

    Mock Object library for PHPUnit

  • phpunit.phpunit

    The PHP Unit Testing framework.