核心使用了Symfony组件的哪些版本?


13

Drupal将哪个Symfony版本用于Symfony组件?支持组件的最新版本是一个目标,还是根本不可能?


2.x,但看起来8.3.x已升级到Symfony3.x。drupal.org/node/2743809
凯文

@Kevin该补丁已还原。对于Symfony 3.1和Symfony 3.2,目前存在单独的问题。由于API中断,每个应用都有自己的挑战。
mpdonadio

Answers:


12

准确地说,Drupal 8使用Symfony组件,而不是所有Symfony。如果您查看“ core / composer.json”,将会看到Drupal使用的所有单个组件。安装的确切版本在'composer.lock'文件中列出。

Drupal 8.2.x使用这些组件的2.8版本。

对于Drupal 8.3.x,有一些问题可以更新到3.13.2,但是这些问题仍在进行中。(我认为可能存在3.3问题,但我找不到它)。

目标是启动跟踪3.X版本,但转换尚未明了。


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 info | grep -E '^symfony'

或对于单个包装:

composer info symfony/yaml

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发行版,但不会停止发展。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.