Pracując nad projektem klienta dla Magento 2 - odkryłem wiele metod ładowania i śledzenia rozszerzeń innych firm.
Przechodząc do tego, zakładając, że używamy metody instalacji integratora (kompozytor!), Jakie są najlepsze praktyki zarządzania rozszerzeniami stron trzecich?
Do tej pory każde rozszerzenie, które kupiłem lub pobrałem, miało swój własny plik composer.json - i znam co najmniej trzy różne sposoby, w których autorzy rozszerzeń zalecają zainstalowanie ich rozszerzenia:
- Skopiuj te pliki do aplikacji / kodu
- Skopiuj ten zip do folderu, dodaj go jako repozytorium artefaktów i wymagaj go
- Dodaj to repozytorium online (z / bez autoryzacji) i wymagaj tego
Do tej pory natknąłem się na 1 i 2 i podejrzewam, że istnieje # 3. Ale potem, zauważając, że te, które sugerują nr 1, stwierdziłem, że możesz mieć repozytorium „ścieżki” - przeniosłem moje rozszerzenia z aplikacji / kodu do tego samego folderu, postanowiłem umieścić te artefakty i wymagałem tego w ten sposób.
W tym procesie konfiguracja moich repozytoriów wygląda mniej więcej tak:
"repositories": {
"0": {
"type": "composer",
"url": "https://repo.magento.com/"
},
"artifacts": {
"type": "artifact",
"url": "artifacts"
},
"third-party": {
"type": "path",
"url": "artifacts/*/*"
},
},
Więc moje pytanie do Ciebie brzmi - jaka jest tutaj najlepsza praktyka? Jak zarządzasz rozszerzeniami stron trzecich?
Do tej pory uważam, że sposób, w jaki to robię, jest najlepszym sposobem - choćby dlatego, że ich composer.json zostanie odczytany, a wszelkie konflikty zależności (lub ograniczenia wersji PHP) staną się widoczne - ale nie sądzę, aby było to wystarczająco definitywne.