Працюючи над клієнтським проектом для Magento 2 - я виявив численні методи завантаження та відстеження сторонніх розширень.
Звертаючись до цього, припускаючи, що ми використовуємо метод установки інтегратора (композитор!), Які найкращі практики управління розширеннями сторонніх розробників?
Поки що кожне розширення, яке я придбав чи завантажив, мав власний файл composer.json - і я знаю принаймні три різні способи, яким автори розширень рекомендували б встановити їх розширення:
- Скопіюйте ці файли в додаток / код
- Скопіюйте цей zip у папку, додайте, що це сховище артефактів, та вимагайте його
- Додайте це онлайн-сховище (з / без автентичності) та вимагайте його
Поки що я натрапив на 1 і 2, і я просто підозрюю, що №3 існує. Але потім, помітивши, що ті, що пропонували №1, я виявив, що ви можете мати сховище "шлях" - перемістив мої розширення з програми / коду в ту саму папку, я вирішив поставити ці артефакти, і вимагав цього.
У цьому процесі конфігурація моїх сховищ виглядає приблизно так:
"repositories": {
"0": {
"type": "composer",
"url": "https://repo.magento.com/"
},
"artifacts": {
"type": "artifact",
"url": "artifacts"
},
"third-party": {
"type": "path",
"url": "artifacts/*/*"
},
},
Тож моє запитання до вас - яка найкраща практика тут? Як ви керуєте розширеннями сторонніх розробників?
Поки я вважаю, що я це роблю найкращим способом - хоча б тому, що їх composer.json читається і будь-які конфлікти залежностей (або обмеження версій PHP) стануть очевидними - але я не думаю, що це досить остаточно.