sajad torkamani

In a nutshell

Symfony Flex is a Composer plugin that hooks into the Composer installation process. When it detects that a package is being installed which it recognizes and for which it has a recipe (some setup code), it executes the recipe.

Symfony flex makes it easier to install and configure packages in one step. Most flex recipes create a configure file at config/packages/<package>.yaml.


Symfony 6 projects have Symfony Flex installed by default. But if you don’t have it installed for whatever reason, run:

composer require symfony/flex

What is a Flex alias and recipe?

With symfony/flex installed, when you run something like:

composer require twig

Flex will do a look up to see if it can resolve twig as an alias to a Composer package (list of aliases and recipes). In this case it resolves twig to symfony/twig-bundle.

Once it has resolved the alias, it will execute the corresponding recipe. A recipe is any code that a library executes to automatically configure itself – usually by adding and modifying files. Recipes make it easy to quickly install and configure packages.

For example, when the twig recipe runs, it adds a bunch of configuration files (e.g., config/packages/twig.yaml and config/packages/test/twig.yaml) and some directories and files (e.g., templates/base.html.twig).


Tagged: Symfony