Phiên bản nào từ các thành phần Symfony được sử dụng từ lõi?


13

Phiên bản Symfony nào Drupal sử dụng cho các thành phần Symfony? Đây có phải là một mục tiêu để hỗ trợ các phiên bản mới nhất của các thành phần hay điều này đơn giản là không thể?


2.x, nhưng có vẻ như 8.3.x đã nâng cấp lên Symfony 3.x. drupal.org/node/2743809
Kevin

@Kevin Bản vá đó đã được hoàn nguyên. Hiện tại có các vấn đề riêng cho Symfony 3.1 và Symfony 3.2. Mỗi người có những thách thức riêng vì phá vỡ API.
mpdon Arena

Câu trả lời:


12

Chính xác hơn khi nói rằng Drupal 8 sử dụng các thành phần Symfony, thay vì tất cả các Symfony. Nếu bạn nhìn vào 'core / composer.json', bạn sẽ thấy tất cả các thành phần riêng lẻ mà Drupal sử dụng được liệt kê ra. Các phiên bản chính xác được cài đặt được liệt kê trong tệp 'composer.lock'.

Drupal 8.2.x sử dụng phiên bản 2.8 của các thành phần này.

Đối với Drupal 8.3.x, có các vấn đề mở để cập nhật lên 3.13.2 , nhưng chúng vẫn đang hoạt động. (Tôi nghĩ rằng có thể có một vấn đề 3,3, nhưng tôi không thể tìm thấy nó).

Các mục tiêu là để bắt đầu theo dõi các 3.x phiên bản, nhưng việc chuyển đổi đã không đơn giản.


2
Một bổ sung: composer.lock là tệp xác định phiên bản nào được sử dụng chính xác. Một vấn đề là việc sử dụng các quy trình công việc dựa trên nhà soạn nhạc có thể dễ dàng dẫn đến việc cập nhật các thành phần như vậy và điều đó có thể dẫn đến các vấn đề nếu đó không phải là phiên bản đã được kiểm tra rõ ràng. @webflo cung cấp một gói không chứa gì ngoài composer.json có các phụ thuộc chính xác mà bất kỳ phiên bản lõi cụ thể nào cũng có: github.com/webflo/drupal-core-strict . Nếu bạn sử dụng điều đó, bạn có thể chắc chắn rằng bạn không bao giờ vô tình cập nhật bất kỳ phụ thuộc nào trong số đó.
Berdir

Cảm ơn @Berdir. Các bit về phiên bản chính xác là quan trọng. Tôi đã do dự khi đề cập đến lockfile vì tôi thấy chúng khó đọc và không phải lúc nào cũng rõ ràng khi có gói vì nó là một phụ thuộc chính, hoặc ở đó bởi vì một cái gì đó yêu cầu nó.
mpdon Arena

đây vẫn là trường hợp? Tôi cần phải viết một mô-đun tùy chỉnh cho trang web Drupal 8 và đang cố gắng quyết định sử dụng Giao hưởng nào.
MadPhysicist

1
@MadPhysicist Drupal 8.3.0 sẽ được gắn thẻ vào ngày hôm nay. Có vẻ như nó sẽ là 2.8.16 (những gì có trong RC2) hoặc 2.8.18 (những gì trong ĐẦU). Kế hoạch là cam kết 3.2.X (có thể là 3.2.7, được phát hành sáng nay và hiện đang được thử nghiệm) đến 8.3.X ngay sau đó để có đủ thời gian để khắc phục mọi sự cố bật lên trước 8.4.0. Bản cập nhật 2.8-> 3.2 không dễ dàng và có lo ngại rằng có thể có những vấn đề mà phạm vi kiểm tra không tìm thấy. Tôi không biết liệu thời gian cho 3.3 đã được thảo luận chưa, vì đây chưa phải là bản phát hành chính thức.
mpdon Arena

Tôi hiểu rồi. Ngoài dự án Drupal, bạn có biết phần còn lại của thế giới có khá nhiều trên Symphony 3 không? Cảm ơn vì thông tin.
MadPhysicist

4

Để tự kiểm tra phiên bản Drupal bạn đang sử dụng, bạn chỉ cần hỏi nhà soạn nhạc:

composer info | grep -E '^symfony'

Hoặc cho một gói cá nhân:

composer info symfony/yaml

3

Kể từ Drupal 8.4.3, đây là các phiên bản của thư viện Symfony và các thư viện liên quan chặt chẽ khác được chỉ định trong 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",

Chúng thường có thể được cập nhật bằng cách sử dụng composer update( thông tin tổng hợp đầy đủ ). Symfony 4 đã xuất hiện vài tuần trước và cũng có 3,3 phiên bản thư viện tồn tại. Vì vậy, có vẻ như Drupal 8 bản phát hành nhỏ sẽ tụt hậu so với bản phát hành Symfony, nhưng không ngừng di chuyển.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.