Какая версия Symfony (3.0 или 4.0) ближе к 3.4? - PullRequest
0 голосов
/ 18 ноября 2018

Мне нужно выучить Symfony 3.4 для новой работы, но мне очень трудно найти хорошо написанные вводные уроки. Я уже пытался изучить официальную документацию Symfony, но у меня все еще много вопросов. Поскольку гораздо проще найти курсы и демонстрационные приложения для версий 3.0 и 4.0, я хочу знать, какой из них ближе к 3.4, чтобы я мог использовать эту информацию для изучения 3.4.

UPDATE

Со всеми разными ответами я решил немного узнать обоим. Я заметил, что обе версии имеют свои отличия от версии 3.4. В то время как версия 3 имеет такие устаревшие сервисы, как это: Ссылка здесь

Версия 4 имеет различия в своей структуре architecture of version 4 архитектура версии 4

architecture of version 3 архитектура версии 3

В заключение, поскольку моя проблема заключалась в понимании официальной документации из-за расплывчатого опыта работы с php-фреймворками, моделью MVC и объектно-ориентированным программированием, я решил сначала изучить версию 4, поскольку в ней есть куча руководств для начинающих, а также Symfony-демо .

OBS: этот учебник мне очень помог.

Ответы [ 2 ]

0 голосов
/ 18 ноября 2018

Я не восхищаюсь или событие одобряет принятый ответ, поскольку это совершенно неправильно!

По вопросу ОП,

Мне нужно выучить Symfony 3.4 для новой работы. Поскольку гораздо проще найти курсы и демонстрационные приложения для версий 3.0 и 4.0, я хочу знать, какой из них ближе к 3.4?

Очевидно, что 3.0 - это ответ.

Как ясно указано в документации , Symfony использует семантическое управление версиями стратегия:

  • Новая версия патча Symfony (например, 2.8.15, 4.1.7) выходит примерно каждый месяц. Он содержит только исправления ошибок, поэтому вы можете безопасно обновить свои приложения;

  • Новая вспомогательная версия Symfony (например, 2.8, 3.2, 4.1) выходит каждые шесть месяцев: одна в мае и одна в ноябре. Он содержит исправления ошибок и новые функции, но не содержит никаких критических изменений, поэтому вы можете безопасно обновлять свои приложения;

  • Новая основная версия Symfony (например, 3.0, 4.0) выходит каждые два года. Он может содержать критические изменения, поэтому вам может потребоваться внести некоторые изменения в свои приложения перед обновлением.

Также обратите внимание, что:

Начиная с ветки Symfony 3.x , количество вспомогательных версий ограничено пятью на ветку (X.0, X.1, X.2, X.3 и X.4) , Последняя вспомогательная версия ветки (например, 3.4, 4.4, 5.4) считается долгосрочной поддержкой (LTS) версией, а остальные считаются стандартной версией.

, что означает, что только основные выпуски (такие как 2.0, 3.0, 4.0) могут нарушать обратную совместимость. Незначительные выпуски (такие как 3.0, 3.1, 3.4) могут вводить новые функции, но должны делать это, не нарушая существующий API этой ветви выпусков (3.x в предыдущем примере)

Итак, 3.4 является LTS и получает поддержку в течение 3 лет. Вы также можете проверить их Обещание обратной совместимости для получения дополнительной информации.

Symfony 3.x против 4.x

Symfony 3.4 и 4.0 имеют одинаковые функции, но разные реализации.

Согласно Страница введения в Symfony 4 , это был основной выпуск с кучей изменений в фреймворке:

|            Feature             | 3.0 | 3.4 | 4.0 |
|--------------------------------|-----|-----|-----|
| Flex                           | No  | No  | Yes |
| Recipes                        | No  | No  | Yes |
| Micro-Kernel Start             | No  | No  | Yes |
| Using Bundles To Organize Code | Yes | Yes | No  |
| Directory Structure            | Old | Old | New |
| composer.json Structure        | Old | Old | New |
| Routing Definition             | Old | Old | New |
| Configuration                  | Old | Old | New |
| Routing Annotations            | Old | Old | New |

Так что, если вам нужно выучить 3.4, и у вас есть выбор между 3.0 и 4.0, придерживайтесь 3.0 и забудьте о 4.0

0 голосов
/ 18 ноября 2018

Если можете, переходите с 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

enter image description here

Обратите внимание, как сгруппированы 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 минорных версии назад. Но они привели причины, поэтому я кратко опровергаю их.

  1. Семантическое управление версиями на самом деле это просто числа, важно то, какой набор функций ближе всего к 3,4, 4,0 или 3,0?
  2. Symfony flex не является Symfony. На самом деле это совершенно отдельный и мое производственное приложение использует последнюю версию Symfony 4 без прогибается.
  3. Возможно, теперь выбранный ответ не знал об этом, но структура каталогов совершенно необязательна, мое вышеупомянутое производственное приложение использует структуру каталогов Symfony 3.4 в моем бэкэнде Symfony 4.1.x. Просто убедитесь, что composer.json знает о вашей структуре.

    "автозагрузка": { "PSR-4": { "AppBundle \": "src / AppBundle /" }, "карта классов": [ "Приложение / AppKernel.php", "Приложение / AppCache.php" ] },

  4. Symfony 4 советует не использовать пакеты для организации вашего кода, он не задуман, опять же, как указано выше, пусть композитор знает, что ваш код находится в src / AppBundle.

На самом деле, чтобы сделать вывод, что большинство причин, заявленных для выбора версии 3.0, являются косметическими, однако, если вы хотите узнать, какие функции находятся в версии 3.0, а не в версии 3.4, взгляните на ссылку, которую я поместил, и здесь она снова. https://symfony.com/blog/category/living-on-the-edge

В конце концов, это мнение людей, и я рад позволить популярному провести день, даже если это не мое.

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...