Quelles versions des composants Symfony sont utilisées à partir du noyau?


13

Quelle version Symfony Drupal utilise-t-il pour les composants Symfony? Est-ce un objectif de prendre en charge les dernières versions des composants ou est-ce simplement impossible?


2.x, mais il semble que la version 8.3.x soit passée à Symfony 3.x. drupal.org/node/2743809
Kevin

@Kevin Ce patch a été annulé. Il existe actuellement des problèmes distincts pour Symfony 3.1 et Symfony 3.2. Chacun a ses propres défis en raison des ruptures d'API.
mpdonadio

Réponses:


12

Il est plus exact de dire que Drupal 8 utilise des composants Symfony, plutôt que la totalité de Symfony. Si vous regardez «core / composer.json», vous verrez tous les composants individuels que Drupal utilise répertoriés. Les versions précises qui sont installées sont répertoriées dans le fichier 'composer.lock'.

Drupal 8.2.x utilise les versions 2.8 de ces composants.

Pour Drupal 8.3.x, il existe des problèmes ouverts pour la mise à jour vers 3.1 et 3.2 , mais ce sont toujours des travaux en cours. (Je pense qu'il peut y avoir un problème 3.3, mais je ne le trouve pas).

L' objectif est de commencer à suivre les versions 3.x, mais la conversion n'a pas été simple.


2
Un ajout: composer.lock est le fichier qui définit les versions qui sont utilisées exactement. Un problème est que l'utilisation de workflows basés sur le compositeur peut facilement entraîner la mise à jour de ces composants, et cela peut entraîner des problèmes s'il ne s'agit pas d'une version qui a été explicitement testée. @webflo fournit un paquet qui ne fait rien mais contient un composer.json qui a les dépendances exactes que n'importe quelle version principale donnée: github.com/webflo/drupal-core-strict . Si vous l'utilisez, vous pouvez être sûr de ne jamais mettre à jour accidentellement l'une de ces dépendances.
Berdir

Merci @Berdir. Le peu de la version exacte est important. J'hésitais à mentionner le fichier de verrouillage car je le trouve difficile à lire, et il n'est pas toujours clair à première vue lorsqu'un paquet est là parce qu'il s'agit d'une dépendance principale, ou parce que quelque chose d'autre l'exige.
mpdonadio

Est-ce toujours le cas? J'ai besoin d'écrire un module personnalisé pour un site Drupal 8 et j'essaie de décider quelle Symphony utiliser.
MadPhysicist

1
@MadPhysicist Drupal 8.3.0 va être tagué plus tard dans la journée. Il semble que ce soit 2.8.16 (ce qui est dans RC2) ou 2.8.18 (ce qui est dans HEAD). Le plan est de valider 3.2.X (probablement 3.2.7, qui est sorti ce matin et qui est actuellement en cours de test) à 8.3.X peu de temps après afin qu'il y ait suffisamment de temps pour résoudre tous les problèmes qui surviennent avant 8.4.0. La mise à jour 2.8-> 3.2 n'a pas été facile, et il est à craindre qu'il puisse y avoir des problèmes que la couverture de test ne trouve pas. Je ne sais pas si le timing de la 3.3 a encore été discuté, car ce n'est pas encore une version officielle.
mpdonadio

Je vois. Mis à part le projet Drupal, savez-vous si le reste du monde est à peu près sur Symphony 3? Merci pour l'information.
MadPhysicist

4

Pour vérifier cela vous-même quelle que soit la version de Drupal que vous utilisez, vous pouvez simplement demander au compositeur:

composer info | grep -E '^symfony'

Ou pour un forfait individuel:

composer info symfony/yaml

3

Depuis Drupal 8.4.3, voici les versions des bibliothèques Symfony et d'autres bibliothèques étroitement liées spécifiées dans 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",

Ceux-ci peuvent généralement être mis à jour à l'aide de composer update(informations complètes sur le compositeur ). Symfony 4 est sorti il ​​y a quelques semaines et il existe également des versions 3.3 de bibliothèques. Il semble donc que les versions mineures de Drupal 8 seront à la traîne des versions de Symfony, mais n'arrêtent pas de bouger.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.