Создан новый проект Symfony 3.4 с использованием Flex - действительно ли это Symfony 3.4? - PullRequest
0 голосов
/ 12 декабря 2018

Вопрос:

Действительно ли Symfony 3.4 проект создан с помощью установщика Flex Symfony 3.4?Или больше "проект Symfony 4 с 3,4 файлами ядра?

Полная история:

Я работаю над переносом существующего проекта Symfony 2.8 в Symfony 3.4.Сначала я создал новый проект Symfony 3.4 с помощью установщика Symfony:

symfony new MyProject 3.4

Структура файлов и папок немного отличается от Symfony 2.8, но в целом все очень похоже.перенести конфигурацию, файлы и т. д. из существующего проекта 2.8.

Однако после некоторых дополнительных исследований я подумал, что было бы неплохо начать новый проект 3.4, используя вместо этого рекомендованный установщик Flex.Новая структура папок, которая также используется в Symfony 4, может упростить будущую миграцию на эту версию.

composer create-project symfony/skeleton:3.4.* MyProject

Конечно, структура каталогов в этом проекте отличается. Но не только папкиразные, но почти все. Как организована полная конфигурация, как определены и управляются маршруты, как организованы пакеты (нетt all), как параметры определяются и используются и т. д.

Почти ничего не осталось, что выглядит как Symfony 3.4.Похоже, это установка Symfony 4, где только файлы в vendor/symfony/... относятся к версии 3.4

Перенос проекта 2.8 в эту настройку был бы более сложным.

Конечно, я знаючто многое изменилось в Symfony 4, в то время как Symfony 3.4 все еще очень похоже на Symfony 2.8. Но как это возможно, что две Symfony 3.4 установки так сильно отличаются?

Я понял, что Flex - это новый рабочий процесс для управления проектами, но он не должен быть конечным результатом - новымSymfony 3.4 проект - быть более или менее одинаковым независимо от того, какой рабочий процесс / установка использовался для его создания?

Flex более мощный при настройке и управлении другим проектом.Однако я хочу настроить проект один раз и запустить его в течение нескольких лет.Есть ли какое-либо преимущество (в ближайшем будущем) в использовании подхода Flex?

Ответы [ 2 ]

0 голосов
/ 13 декабря 2018

Чтобы ответить на ваш первый вопрос: Да, проект Symfony 3.4, созданный с помощью Flex, действительно является проектом 3.4.«bin / console --version» проверит это.

Что касается структуры каталогов, Symfony пытается найти баланс между поддержанием обратной совместимости, но в то же время продолжает двигаться вперед и совершенствовать свой дизайн.Для получения информации о том, почему что-то было сделано, полезно следить за блогом Symfony и, возможно, посетить слабый канал.Особенно сообщения о появлении Flex, а также новая структура каталогов.

Одна из целей Symfony - максимально упростить переход с долгосрочной версии поддержки на более новую версию.Следовательно, 2.8 в значительной степени идентичен 3.0, за исключением того, что множество устаревших функций было удалено.Если бы вы следили за вещами в то время, вы бы заметили, что между 2,7 и 2,8 произошел довольно большой скачок.

То же самое для 3,4 до 4,0 - это легко, но несколько возможных ударов - от 3,0 до 3,4.

Вид немного извилистый.Извините.

Чтобы ответить на ваш второй вопрос о ценности использования Flex, как и все вопросы, основанные на мнении, единственный правильный ответ: это зависит.

В моем случае выбор использовать новый каталогструктура была легкой.У меня есть несколько приложений, и я использую Symfony ежедневно.Идти в ногу с последним и самым большим имеет смысл для меня.Потратив время на портирование приложений (некоторые из которых относятся к 2.3) на 4.0, я облегчаю общее бремя обслуживания.Время, потраченное на эксперименты с портированием, помогло мне понять новую функциональность.Как только я освоился с процессом, это было по большей части просто упражнение копирования / вставки / переименования.Сложнее всего было убедиться, что некоторые сторонние зависимости были должным образом обновлены.

В вашем случае кажется, что у вас есть только одно приложение, и вы просто хотите обновить его, а затем забыть о нем на несколько лет.,В этом случае сохраните старую структуру и двигайтесь дальше.В какой-то момент вам, возможно, придется перейти на новую структуру, но подождать несколько лет ничего не повредит.И, эй, я подозреваю, что 5.0 внесет больше изменений.

Выбор за вами.

0 голосов
/ 12 декабря 2018

Symfony Flex - это новый способ установки и управления приложениями Symfony. Flex - это не новая версия Symfony, а инструмент, который заменяет и улучшает Symfony Installer и Symfony Standard Edition.

Symfony Flex автоматизирует наиболее распространенные задачи приложений Symfony, такие как установка иудаление пакетов и других зависимостей Composer.Symfony Flex работает для Symfony 3.3 и выше.Начиная с Symfony 4.0, Flex должен использоваться по умолчанию, но он по-прежнему не обязателен.

Источник: https://symfony.com/doc/3.4/setup/flex.html

...