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.
źródło
Zainstalowałem rozszerzenia dla magento2, umieszczając rozszerzenie pod aplikacją / kodem, a strona działała dla mnie dobrze, więc zainstalowanie ich przez umieszczenie rozszerzenia pod aplikacją / kodem jest jednym ze sposobów instalowania rozszerzeń!
źródło
Najlepszą praktyką w zarządzaniu rozszerzeniem strony trzeciej jest pobranie pliku zip i zaimportowanie pliku zip do folderu aplikacji / kodu i rozpakowanie go.
Następnie użyj następujących poleceń
źródło
app/code
Nie zaleca się instalowania modułów za pomocącomposer
. Użyjcomposer
zamiast tego.