Какие версии из компонентов Symfony используются из ядра?

13

Какую версию Symfony использует Drupal для компонентов Symfony? Это цель поддержки последних версий компонентов или это просто невозможно?

Hyperfocus1337
источник
2.x, но похоже, что 8.3.x обновился до Symfony 3.x. drupal.org/node/2743809
Кевин
@Kevin Этот патч был отменен. В настоящее время существуют отдельные проблемы для Symfony 3.1 и Symfony 3.2. У каждого свои проблемы из-за перерывов в работе API.
mpdonadio

Ответы:

12

Точнее сказать, что Drupal 8 использует компоненты Symfony, а не все Symfony. Если вы посмотрите на «core / composer.json», вы увидите все отдельные компоненты, которые использует Drupal. Точные версии, которые будут установлены, перечислены в файле 'composer.lock'.

Drupal 8.2.x использует версии 2.8 этих компонентов.

Для Drupal 8.3.x есть проблемы, открытые для обновления до 3.1 и 3.2 , но они все еще находятся в стадии разработки. (Я думаю, что может быть проблема 3.3, но я не могу найти это).

Цель , чтобы начать отслеживать 3.x версии, но преобразование не было простым.

mpdonadio
источник
2
Одно дополнение: composer.lock - это файл, который определяет, какие именно версии используются. Одна проблема состоит в том, что использование рабочих процессов на основе композитора может легко привести к обновлению таких компонентов, и это может привести к проблемам, если это не версия, которая была явно протестирована. @webflo предоставляет пакет, который ничего не делает, кроме содержит composer.json, который имеет точные зависимости, которые есть у любой конкретной базовой версии: github.com/webflo/drupal-core-strict . Если вы используете это, вы можете быть уверены, что никогда не обновите случайно ни одну из этих зависимостей.
Бердир
Спасибо @Berdir. Немного о точной версии важно. Я не решался упомянуть файл блокировки, поскольку мне трудно его прочитать, и с первого взгляда не всегда понятно, есть ли пакет, потому что он является основной зависимостью, или там, потому что это требуется для чего-то другого.
mpdonadio
Это все еще так? Мне нужно написать собственный модуль для сайта Drupal 8, и я пытаюсь решить, какой Symphony использовать.
MadPhysicist
1
@MadPhysicist Drupal 8.3.0 будет отмечен позже сегодня. Похоже, это будет либо 2.8.16 (что в RC2), либо 2.8.18 (что в HEAD). План состоит в том, чтобы передать 3.2.X (возможно, 3.2.7, который вышел сегодня утром и в настоящее время тестируется) на 8.3.X вскоре после этого, чтобы было достаточно времени для исправления любых проблем, возникающих до 8.4.0. Обновление 2.8-> 3.2 было непростым, и есть опасения, что могут быть проблемы, которые тестовое покрытие не находит. Я не знаю, обсуждалось ли время для 3.3, поскольку это еще не официальный релиз.
mpdonadio
Понимаю. Помимо проекта Drupal, знаете ли вы, что весь остальной мир в значительной степени заинтересован в Symphony 3? Спасибо за информацию.
MadPhysicist
4

Чтобы проверить это самостоятельно, какую бы версию Drupal вы не использовали, вы можете просто спросить у composer:

composer info | grep -E '^symfony'

Или для индивидуальной упаковки:

composer info symfony/yaml
Cameron
источник
3

Начиная с Drupal 8.4.3, здесь представлены версии библиотек Symfony и других тесно связанных библиотек, указанных в core / composer.json:

"php": ">=5.5.9",
"symfony/class-loader": "~3.2.8",
"symfony/console": "~3.2.8",
"symfony/dependency-injection": "~3.2.8",
"symfony/event-dispatcher": "~3.2.8",
"symfony/http-foundation": "~3.2.8",
"symfony/http-kernel": "~3.2.8",
"symfony/routing": "~3.2.8",
"symfony/serializer": "~3.2.8",
"symfony/translation": "~3.2.8",
"symfony/validator": "~3.2.8",
"symfony/process": "~3.2.8",
"symfony/polyfill-iconv": "^1.0",
"symfony/yaml": "~3.2.8",
"twig/twig": "^1.23.1",
"doctrine/common": "^2.5",
"doctrine/annotations": "^1.2",
"symfony-cmf/routing": "^1.4",
"symfony/psr-http-message-bridge": "^1.0",

Как правило, они могут быть обновлены с помощью composer update( полная информация о композиторе ). Symfony 4 вышел несколько недель назад, и существуют также версии 3.3 библиотек. Похоже, что минорные релизы Drupal 8 будут отставать от релизов Symfony, но не перестанут двигаться.

HongPong
источник