Очень важная тема - это тема рецептов (recipes) Symfony. Без понимания того, что это такое, практически невозможно заниматься обновлением вашего проекта Symfony. 

Если проект не обновлять, он может сильно устареть и пользоваться им в текущих реалиях будет невозможно.

Symfony постоянно обновляется и в нем появляются новые возможности. Если не уметь правильно обновлять Symfony, то у вас может появляться много проблем, которые с этими обновлениями будут связаны.

Чтобы правильно производить обновление пакетов Symfony давайте остановимся подробнее на понятии рецептов recipes Symfony. 

Одним из вариантов установки Symfony является установка из пакета symfony/skeleton. Этот пакет состоит всего из одного файла composer.json. 

Если склонировать этот репозиторий к себе на компьютер и запустить команду composer install, у вас разворачивается полноценная структура проекта: папки src, public, config и.т.д. 

Но, как это возможно?

Мы выполнили composer install, а у нас каким-то образом появились еще дополнительные папки кроме папки vendor, с которой работает composer по умолчанию. Вот такая магия происходит. 

На самом деле никакой магии нет и это становится возможным благодаря так называемым рецептам. 

По сути, рецепты (recipes) в Symfony - это простой программный код, который выполняется и вносит изменения в структуру нашего проекта. Изменения, которые нужно произвести в папке, которая находятся вне папки vendor. 

Рецепты:

+ создают и меняют содержимое папки public

+ конфигурационные файлы и.т.д.

Рецепты позволяют держать наш проект всегда в актуальном состоянии.

В symfony за систему рецептов отвечает специальный пакет symfony/flex. 

Идея следующая. Есть пакеты и есть рецепты, которые есть у этого пакета. При установке какого-то пакета мы можем выполнить эти рецепты. 

Вот такая идея. Надеюсь, что стало понятнее для чего нужны рецепты и что это такое.