Symfony Flex reference
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
.
Install
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
).
Sources
Thanks for your comment π. Once it's approved, it will appear here.
Leave a comment