Quali versioni dei componenti di Symfony sono usate dal core?


13

Quale versione di Symfony utilizza Drupal per i componenti di Symfony? È un obiettivo supportare le ultime versioni dei componenti o semplicemente non è possibile?


2.x, ma sembra che 8.3.x sia stato aggiornato a Symfony 3.x. drupal.org/node/2743809
Kevin,

@Kevin Quella patch è stata ripristinata. Esistono attualmente problemi separati per Symfony 3.1 e Symfony 3.2. Ognuno ha le proprie sfide a causa delle interruzioni dell'API.
mpdonadio

Risposte:


12

È più preciso affermare che Drupal 8 utilizza i componenti di Symfony, piuttosto che tutto Symfony. Se guardi 'core / composer.json' vedrai elencati tutti i singoli componenti che Drupal usa. Le versioni precise che vengono installate sono elencate nel file 'composer.lock'.

Drupal 8.2.x utilizza le versioni 2.8 di questi componenti.

Per Drupal 8.3.x, ci sono problemi aperti per l'aggiornamento a 3.1 e 3.2 , ma questi sono ancora lavori in corso. (Penso che potrebbe esserci un problema 3.3, ma non riesco a trovarlo).

L' obiettivo è iniziare a monitorare le versioni 3.x, ma la conversione non è stata semplice.


2
Un'aggiunta: composer.lock è il file che definisce quali versioni vengono utilizzate esattamente. Un problema è che l'utilizzo di flussi di lavoro basati sul compositore può facilmente comportare l'aggiornamento di tali componenti e ciò può causare problemi se non si tratta di una versione che è stata esplicitamente testata. @webflo fornisce un pacchetto che non fa altro che contenere un composer.json che ha le dipendenze esatte che una data versione core ha: github.com/webflo/drupal-core-strict . Se lo usi, puoi essere sicuro di non aggiornare mai accidentalmente nessuna di queste dipendenze.
Berdir,

Grazie @Berdir. Il pezzo sulla versione esatta è importante. Ero titubante nel menzionare il file di blocco poiché li trovo difficili da leggere, e non è sempre chiaro a prima vista quando un pacchetto è lì perché è una dipendenza primaria o lì perché qualcos'altro lo richiede.
mpdonadio

È ancora così? Devo scrivere un modulo personalizzato per un sito Drupal 8 e sto cercando di decidere quale Symphony utilizzare.
MadPhysicist,

1
@MadPhysicist Drupal 8.3.0 verrà taggato più tardi oggi. Sembra che sarà 2.8.16 (cosa c'è in RC2) o 2.8.18 (cosa c'è in HEAD). Il piano è quello di impegnare 3.2.X (probabilmente 3.2.7, che è uscito questa mattina ed è attualmente in fase di test) a 8.3.X poco dopo in modo che ci sia abbastanza tempo per risolvere eventuali problemi che si presentano prima dell'8.4.0. L'aggiornamento 2.8-> 3.2 non è stato facile e si teme che potrebbero esserci problemi che la copertura del test non sta rilevando. Non so se i tempi per 3.3 siano già stati discussi, poiché questa non è ancora una versione ufficiale.
mpdonadio

Vedo. A parte il progetto Drupal, sai se il resto del mondo è praticamente su Symphony 3? Grazie per l'informazione.
MadPhysicist,

4

Per verificarlo tu stesso qualunque sia la versione di Drupal che stai usando, puoi semplicemente chiedere al compositore:

composer info | grep -E '^symfony'

O per un singolo pacchetto:

composer info symfony/yaml

3

A partire da Drupal 8.4.3 ecco le versioni delle librerie Symfony e altre librerie strettamente correlate specificate in 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",

Questi possono generalmente essere aggiornati usando composer update( informazioni complete sul compositore ). Symfony 4 è uscito poche settimane fa e esistono anche 3.3 versioni di librerie. Quindi sembra che le versioni secondarie di Drupal 8 rimarranno indietro rispetto alle versioni di Symfony, ma non smetteranno di muoversi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.