Khi làm việc với một dự án máy khách cho Magento 2 - tôi đã phát hiện ra nhiều phương pháp tải và theo dõi các tiện ích mở rộng của bên thứ ba.
Đi vào giả định rằng chúng tôi đang sử dụng phương pháp cài đặt tích hợp (nhà soạn nhạc!), Các thực tiễn tốt nhất để quản lý các tiện ích mở rộng của bên thứ ba là gì?
Cho đến nay, mọi tiện ích mở rộng tôi đã mua hoặc tải xuống đều có tệp composer.json của riêng nó - và tôi biết ít nhất ba cách khác nhau mà các tác giả tiện ích mở rộng sẽ khuyên bạn nên cài đặt tiện ích mở rộng của mình:
- Sao chép các tệp này vào ứng dụng / mã
- Sao chép zip này vào thư mục, thêm nó là một kho lưu trữ giả và yêu cầu nó
- Thêm kho lưu trữ trực tuyến này (có / không có auth) và yêu cầu nó
Cho đến nay, tôi đã bắt gặp 1 & 2 và tôi chỉ nghi ngờ # 3 tồn tại. Nhưng sau đó, nhận thấy rằng những người gợi ý số 1 tôi thấy rằng bạn có thể có kho lưu trữ "đường dẫn" - đã chuyển các tiện ích mở rộng của tôi từ ứng dụng / mã sang cùng một thư mục, tôi quyết định đặt các tạo phẩm này và yêu cầu nó theo cách đó.
Trong quá trình này, cấu hình kho lưu trữ của tôi trông giống như:
"repositories": {
"0": {
"type": "composer",
"url": "https://repo.magento.com/"
},
"artifacts": {
"type": "artifact",
"url": "artifacts"
},
"third-party": {
"type": "path",
"url": "artifacts/*/*"
},
},
Vì vậy, câu hỏi của tôi cho bạn là - thực hành tốt nhất ở đây là gì? Làm thế nào để bạn quản lý các phần mở rộng của bên thứ ba?
Cho đến nay tôi tin rằng cách tôi đang làm là cách tốt nhất - nếu chỉ vì composer.json của họ được đọc và mọi xung đột phụ thuộc (hoặc các ràng buộc phiên bản PHP) sẽ trở nên rõ ràng - nhưng tôi không nghĩ điều đó đủ dứt khoát.