Bảo trì Symfony từ năm 2012
Phát triển ứng dụng của bạn mà không làm suy yếu hoạt động kinh doanh của ứng dụng
PartITech đã phát triển và duy trì các ứng dụng Symfony từ năm 2012. Bản nâng cấp không chỉ là thay đổi ràng buộc của Composer: nó phải duy trì hành trình kinh doanh, dữ liệu, tích hợp, hiệu suất và khả năng tiếp tục phân phối của các nhóm.
Chúng tôi làm việc trên các ứng dụng mà chúng tôi đã xây dựng giống như trên các nền tảng hiện có. Mục tiêu của chúng tôi là đưa từng dự án trở lại quỹ đạo có thể bảo trì được, với phiên bản Symfony, PHP và các phần phụ thuộc vẫn được hưởng lợi từ các bản vá bảo mật.
- Kể từ năm 2012
- Phát triển và bảo trì Symfony
- Mã, phần phụ thuộc, cơ sở hạ tầng
- Việc di chuyển được coi là tổng thể
- Kiểm tra trước khi chuyển đổi
- Các thay đổi đã được xác minh bên ngoài quá trình sản xuất
Bảo mật, hiệu suất, tính liên tục
Tại sao phải cập nhật Symfony?
Khung, các thành phần PHP, Symfony và thư viện Composer tạo thành cùng một cơ sở. Tính bảo mật của nó phụ thuộc vào việc duy trì toàn bộ chuỗi kỹ thuật này.
Khắc phục lỗ hổng
Các nhánh được duy trì sẽ nhận được các bản sửa lỗi bảo mật khung. Sự phụ thuộc trực tiếp và bắc cầu cần được giám sát chặt chẽ như nhau.
Duy trì sự ổn định
Các bản phát hành đã vá giải quyết các điểm bất thường và giảm hành vi không thể đoán trước trong quá trình xử lý kinh doanh, API và các tác vụ không đồng bộ.
Cải thiện hiệu suất
Việc phát triển khung, PHP và các thành phần của nó có thể cải thiện thời gian phản hồi, mức tiêu thụ bộ nhớ và hiệu suất của nhân viên.
Luôn tương thích
Symfony phát triển với PHP, Doctrine, Twig, PHPUnit và hệ sinh thái Composer. Một phiên bản cũ sẽ chặn việc nâng cấp toàn bộ môi trường.
Giới hạn nợ kỹ thuật
Việc xử lý các khoản ngừng sử dụng thường xuyên sẽ tránh tích lũy một số lỗi lớn, các gói bị bỏ rơi và việc viết lại khó ước tính.
Kiểm soát ngân sách
Việc di chuyển thường xuyên và có đo lường sẽ dễ dự đoán hơn so với việc hiện đại hóa khẩn cấp được thực hiện khi khung hoặc PHP không còn được hỗ trợ.
Lịch 2026
Bạn thích phiên bản Symfony nào hơn?
Symfony 8.1 là phiên bản ổn định hiện tại. Đối với các ứng dụng yêu cầu thời gian hỗ trợ dài, Symfony 7.4 là phiên bản LTS tham khảo.
Phiên bản ổn định hiện tại
Symfony 8.1
Được phát hành vào tháng 5 năm 2026, Symfony 8.1 yêu cầu PHP 8.4 trở lên và được hỗ trợ cho đến tháng 1 năm 2027. Nó phù hợp cho các nhóm theo kịp các bản phát hành tiêu chuẩn.
Tham khảo lịch Symfony 8.1- Các ứng dụng sử dụng bộ chứa dịch vụ mà không phụ thuộc vào chu kỳ HTTP.
- Các lệnh trên bảng điều khiển có thể được nhóm theo các phương thức với mã ít lặp lại hơn.
- Ánh xạ đầy đủ hơn các yêu cầu và tệp tới các đối tượng đã nhập.
- Cải tiến Messenger cho các đợt, mức độ ưu tiên, tiếp tục và đặt lại.
- Phát triển tính năng chèn phụ thuộc, JSON và bản dịch.
Symfony 8.1
Phiên bản ổn định
PHP tối thiểu 8.4. Hỗ trợ đến tháng 1 năm 2027: việc áp dụng nó yêu cầu tuân theo chu kỳ phiên bản tiêu chuẩn.
Symfony 7.4 LTS
Tính ổn định lâu dài
PHP tối thiểu 8.2. Sửa lỗi đến tháng 11 năm 2028 và sửa lỗi bảo mật đến tháng 11 năm 2029.
Symfony 6.4 LTS
Vẫn được duy trì
PHP tối thiểu 8.1. Sửa lỗi đến tháng 11 năm 2026 và sửa lỗi bảo mật đến tháng 11 năm 2027.
Symfony 5.4 LTS
Chỉ bảo mật
Chi nhánh vẫn đang nhận các bản vá bảo mật cho đến tháng 2 năm 2029, nhưng không sửa thêm lỗi nào nữa. Cơ sở PHP cũ của nó yêu cầu nghiên cứu môi trường hoàn chỉnh.
Symfony 8.0, 7.0–7.3, 6.0–6.3
Phiên bản không được duy trì
Các nhánh tiêu chuẩn này đã hết hỗ trợ. Họ phải tham gia vào một chi nhánh hiện đang được duy trì.
Symfony 5.3 trở về trước
Cần hiện đại hóa
Khung, PHP và nhiều phần phụ thuộc nhìn chung đã lỗi thời. Di chuyển trở thành một dự án hiện đại hóa có cấu trúc.
Phiên bản tiêu chuẩn hay LTS?
Phiên bản tiêu chuẩn cho phép truy cập sớm hơn vào các tính năng mới nhưng yêu cầu nâng cấp khoảng sáu tháng một lần. LTS cung cấp thời gian bảo trì dài hơn. Sự lựa chọn đúng đắn phụ thuộc vào tốc độ phân phối, những hạn chế trong kinh doanh và khả năng duy trì ứng dụng thường xuyên của nhóm.
Ngoài số phiên bản
Những phiên bản gần đây thay đổi để bảo trì
Việc nâng cấp phiên bản cũng là cơ hội để đơn giản hóa mã, cải thiện khả năng quan sát của nó và đưa các hoạt động phát triển trở lại cấp độ khung.
PHP hiện đại và cách gõ
Các phiên bản gần đây của Symfony tận dụng các thuộc tính, loại và hiệu suất của các phiên bản PHP hiện đại.
Tiêm phần phụ thuộc
Tự động nối dây, thuộc tính và cấu hình rõ ràng hơn giúp giảm mã lặp lại và giúp dịch vụ dễ kiểm tra hơn.
Messenger và thời gian xử lý lâu
Hàng đợi tin nhắn, khởi động lại, mức độ ưu tiên và công nhân phải được kiểm soát trong quá trình di chuyển để duy trì độ tin cậy xử lý.
API và dữ liệu đã nhập
Ánh xạ yêu cầu, Trình tuần tự hóa và xác thực cho phép các giao diện rõ ràng hơn, miễn là hành vi lịch sử được điều chỉnh.
Bảng điều khiển và tự động hóa
Các lệnh trở nên biểu cảm hơn và tạo điều kiện thuận lợi cho hoạt động, di chuyển dữ liệu và các hoạt động định kỳ.
Kiểm soát khấu hao
Cơ chế ngừng sử dụng cung cấp lộ trình dần dần giữa các phiên bản chính khi các cảnh báo được giải quyết trước khi chuyển đổi.
Khung và thời gian chạy
Khả năng tương thích kỹ thuật là chưa đủ
Mục tiêu phải có phiên bản duy trì của Symfony và PHP
Symfony 8.1 yêu cầu tối thiểu PHP 8.4, tối thiểu Symfony 7.4 PHP 8.2 và tối thiểu Symfony 6.4 PHP 8.1. Tuy nhiên, một phiên bản PHP được framework chấp nhận có thể đã hết vòng đời.
Do đó, chúng tôi kiểm soát riêng lịch trình của Symfony và PHP, cũng như khả năng tương thích của cơ sở dữ liệu, máy chủ web, tiện ích mở rộng PHP, trình chạy, bộ đệm và công cụ triển khai.
- Phiên bản PHP chính thức và hỗ trợ
- Tiện ích mở rộng PHP thực sự có sẵn
- Tính tương thích của học thuyết và cơ sở dữ liệu
- Workers, Messenger, cron và các quy trình dài
- Máy chủ web, bộ nhớ đệm và khả năng quan sát
- CI/CD và hình ảnh triển khai
Lịch thay đổi thường xuyên. Tham khảo ý kiến lịch Symfony chính thức và Phiên bản PHP được hỗ trợ chính thức trước khi đặt mục tiêu.
Chiến lược dựa trên những gì đã tồn tại
Theo phiên bản hiện tại của bạn thì phải làm gì?
Khoảng cách với một nhánh được duy trì càng lớn thì càng cần phải phân chia dự án và đảm bảo từng bước trung gian.
Bạn đang dùng Symfony 8.1
Ứng dụng của bạn đang sử dụng phiên bản ổn định hiện tại. Các bản vá phải được áp dụng và phiên bản tiêu chuẩn tiếp theo được lên kế hoạch trước tháng 1 năm 2027.
Mục tiêu: duy trì nhịp độ đều đặn.
Bạn đang dùng Symfony 7.4 LTS
Bạn có nhánh tham chiếu để bảo trì lâu dài. Các bản phát hành bản vá, phần phụ thuộc và cảnh báo bảo mật vẫn được theo dõi.
Mục tiêu: Duy trì và xử lý khấu hao.
Bạn đang dùng Symfony 6.4 LTS
Nhánh vẫn được duy trì nhưng việc sửa lỗi sẽ dừng vào tháng 11 năm 2026. Việc chuẩn bị Symfony 7.4 cho phép bạn tránh việc di chuyển bắt buộc.
Mục tiêu: Lên lịch cho LTS tiếp theo.
Bạn đang dùng Symfony 5.4 LTS
Các bản sửa lỗi bảo mật vẫn tồn tại nhưng các phiên bản PHP lịch sử và phần phụ thuộc của dự án có thể không còn được duy trì.
Mục tiêu: kiểm tra toàn bộ cơ sở và hiện đại hóa.
Bạn đang sử dụng phiên bản cũ hơn
Các gói bị bỏ rơi, ngắt Composer, phiên bản PHP lỗi thời và các thay đổi về kiến trúc có thể yêu cầu nhiều cấp độ và viết lại có mục tiêu.
Mục tiêu: xây dựng quỹ đạo theo từng giai đoạn.
Một quá trình di chuyển có thể kiểm chứng được
Các bước cơ bản khi nâng cấp phiên bản Symfony
Việc di chuyển đáng tin cậy giúp hiển thị các phần phụ thuộc, điểm không dùng nữa, quyết định, kiểm tra và điều kiện khôi phục.
Kiểm toán hiện tại
Phiên bản Symfony và PHP, bundle, mã nghiệp vụ, các phần phụ thuộc của Composer, cơ sở dữ liệu, giao diện, trình chạy và cơ sở hạ tầng.
Cơ sở thử nghiệm
Xác định các đường dẫn quan trọng và hợp nhất các thử nghiệm cần thiết để phát hiện sự hồi quy trong quá trình di chuyển.
Định nghĩa mục tiêu
Lựa chọn giữa phiên bản tiêu chuẩn và LTS, thời gian chạy PHP, môi trường máy chủ và các cấp độ trung cấp tương thích.
Đi lên cấp thứ cuối cùng
Đã cập nhật nhánh hiện tại để có tất cả cảnh báo không dùng nữa trước khi có thay đổi lớn.
Xử lý khấu hao
Việc điều chỉnh mã, cấu hình và cách sử dụng cụ thể đã bị loại bỏ trong phiên bản mục tiêu.
Đang cập nhật các phần phụ thuộc
Composer, gói, Doctrine, Twig, công cụ chất lượng, thư viện giao diện người dùng và thay thế các gói bị bỏ rơi.
Kiểm thử và nghiệm thu
Hành trình kinh doanh, API, quyền, biểu mẫu, lệnh, tin nhắn, nhiệm vụ đã lên lịch, hiệu suất, bảo mật và giao diện bên ngoài.
Triển khai và giám sát
Sao lưu, lặp lại chuyển đổi dự phòng, khôi phục, kiểm tra sau sản xuất, nhật ký, số liệu và theo dõi sự bất thường.
Bằng chứng, không chỉ là một phiên bản
Quá trình di chuyển sẽ tạo ra kết quả gì
- Danh sách các gói, phần phụ thuộc và sự phát triển cụ thể
- Báo cáo tương thích và sổ đăng ký quyết định
- Các tệp Composer có thể tái tạo và các phần phụ thuộc được cập nhật
- Kế hoạch xử lý khấu hao và không tương thích
- Kế hoạch thử nghiệm và báo cáo nghiệm thu
- Quy trình sao lưu và khôi phục có thể khôi phục
- Kế hoạch sản xuất và kiểm soát sau triển khai
- Tài liệu vận hành và lịch trình bảo trì
Trải nghiệm PartITech
Từ di chuyển thường xuyên đến hiện đại hóa phức tạp
Kể từ năm 2012, chúng tôi đã cập nhật hàng chục ứng dụng Symfony, đặc biệt là cho Hyundai, CAUE d'Île-de-France và CFC. Chúng tôi cũng có thể nâng cấp máy chủ khi chúng tôi được giao việc thuê ngoài.
Chúng tôi cũng sử dụng các ứng dụng mà chúng tôi chưa phát triển. Trải nghiệm này cho phép chúng tôi can thiệp vào cả hai phiên bản gần đây và quá trình hiện đại hóa dần dần nền tảng cũ.