Если можете, переходите с Symfony 4.0
Много раз с Symfony, когда мы достигаем грани новой основной версии, такой как 4.0, вы обнаружите, что чаще всего предыдущая дополнительная версия, в этом 3.4, в основном совместима с ней, просто устаревшие функции удалены.
Другими словами, самым большим изменением между 3.4 и 4.0 является то, что любые функции, помеченные как устаревшие в 3.4, не будут работать в 4.0.
В то время как основное различие между 3,0 и 3,4 заключается во всех новых вкусностях, которые убедили команду прыгнуть с 3,4 до 4,0
Есть несколько незначительных вещей, но, на мой взгляд, это самая большая разница, так что переходите на 4.0, которая также дает дополнительное преимущество, позволяя сэкономить еще один скачок, когда 5.0 выйдет в конце следующего года.
Всего наилучшего!
EDIT
Позвольте мне ответить на другой ответ, который был на удивление более популярным.
Если вопрос «Какая версия Symfony (3.0 или 4.0) ближе к 3.4?» Я искренне удивлен, что кто-то скажет 3,0, искренне.
Symfony 4 - это Symfony 3.4 без поддержки каких-либо устаревших функций. - это главное здесь.
Symfony 3.0 - это Symfony 2.8 без поддержки каких-либо устаревших функций.
Не поверьте мне на слово, посмотрите официальный блог по паритету https://symfony.com/blog/category/living-on-the-edge
Обратите внимание, как сгруппированы 3.4 и 4.0, а также 2.8 и 3.0.
Самым близким к 3.4 является 4.0, почему? Вы можете безопасно понизить версию с 4.0 до 3.4 без проблем (если только не для сторонних пакетов), вы также можете безопасно обновить версию с 3.0 до 3.4, но в основном с уведомлениями об устаревании везде, не говоря уже о том, что в вашем коде отсутствуют функции, представленные в 3.1, 3.2 и 3.3. Я сбит с толку, почему некоторые считают, что наиболее близким к 3.4 является 4 минорных версии назад. Но они привели причины, поэтому я кратко опровергаю их.
- Семантическое управление версиями на самом деле это просто числа, важно то,
какой набор функций ближе всего к 3,4, 4,0 или 3,0?
- Symfony flex не является Symfony. На самом деле это совершенно отдельный и
мое производственное приложение использует последнюю версию Symfony 4 без
прогибается.
Возможно, теперь выбранный ответ не знал об этом, но структура каталогов совершенно необязательна, мое вышеупомянутое производственное приложение использует структуру каталогов Symfony 3.4 в моем бэкэнде Symfony 4.1.x. Просто убедитесь, что composer.json знает о вашей структуре.
"автозагрузка": {
"PSR-4": {
"AppBundle \": "src / AppBundle /"
},
"карта классов": [
"Приложение / AppKernel.php",
"Приложение / AppCache.php"
]
},
Symfony 4 советует не использовать пакеты для организации вашего кода, он не задуман, опять же, как указано выше, пусть композитор знает, что ваш код находится в src / AppBundle.
На самом деле, чтобы сделать вывод, что большинство причин, заявленных для выбора версии 3.0, являются косметическими, однако, если вы хотите узнать, какие функции находятся в версии 3.0, а не в версии 3.4, взгляните на ссылку, которую я поместил, и здесь она снова.
https://symfony.com/blog/category/living-on-the-edge
В конце концов, это мнение людей, и я рад позволить популярному провести день, даже если это не мое.
Удачи!