Symfony Flex

Symfony 4 - это прорыв в фреймворк-строении, никогда еще не было так легко создавать приложения, любого формата будь это RestFull API, микросервис или просто сайт одностраничник!

Symfony 4 стал таким гибким благодаря использованию компонента Symfony Flex, который может быть подключен и к Symfony 3.4

Разработчики провели огромную работу, вы только представьте фреймворк из коробки стал весить на 70% меньше и стал еще быстрее. Без папки vendor, всего 16 файлов и ~1800 строк кода.

Давайте запомним этот день 30 ноября 2017 года, дата релиза Symfony 4.0

Какие изменения произошли по сравнению с Symfony 3.4 ?

1. Стало больше стандартных идей, меньше "symfony-ideas". Например вместо точки входа web/app.php в Symfony 3, стал использоваться путь по умолчанию для веб-сервера public/index.php

2. Автоматическая установка пакетов с помощью Symfony Flex

3. Автоматическая регистрация сервисов, теперь не нужно отдельно в AppKernel.php регистрировать свои бандлы

4. Бандлов теперь нет... WTF? Теперь весь проект и есть бандл. 

5. Symfony 4 позиционируется как micro-framework.

6. Автоматическое создание кода с помощью MakerBundle 

Это были основные изменения, добавим немного магии. Теперь зависимости можно устанавливать по alias, например чтобы установить twig (шаблонизатор), нужно набрать следующую команду:

composer require template

В это время composer пройдет в Symfony Recipes Server  и если найдет там подходящий "рецепт", то скачает и установит его, параллельно обновив зависмость в файле symfony.lock, по аналогии с composer.lock

В Symfony 4, появляется такое понятие как packets . Это репозиторий с единственный файлом composer.json .  Его удобство в том, чтобы подключить к себе полноценную orm на проект, не нужно подключать несколько зависимостей, достаточно подключить packet. Например пакет orm-packet , с помощью него сразу подключаются все необходимые бандлы с необходимыми версиями.

  • doctrine/orm
  • doctrine/doctrine-bundle
  • doctrine/doctrine-migrations-bundle

И что важно, они не будут конфлитковать между собой. Если же нужно изменить версии бандлов, то пакет нужно удалить с помощью команды:

composer unpack orm

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

© Krenar 2023. All right reserved.