Während der Arbeit an einem Client-Projekt für Magento 2 habe ich zahlreiche Methoden zum Laden und Verfolgen von Erweiterungen von Drittanbietern entdeckt.
Unter der Annahme, dass wir die Integrator-Installationsmethode (Composer!) Verwenden, was sind die Best Practices für die Verwaltung von Erweiterungen von Drittanbietern?
Bisher hatte jede Erweiterung, die ich gekauft oder heruntergeladen habe, eine eigene composer.json-Datei - und ich kenne mindestens drei verschiedene Möglichkeiten, wie Autoren von Erweiterungen empfehlen würden, ihre Erweiterung zu installieren:
- Kopieren Sie diese Dateien in App / Code
- Kopieren Sie diese Zip-Datei in einen Ordner, fügen Sie hinzu, dass es sich um ein Artefakt-Repository handelt, und fordern Sie es an
- Fügen Sie dieses Online-Repository (mit / ohne Authentifizierung) hinzu und fordern Sie es an
Bisher bin ich auf 1 & 2 gestoßen und habe nur den Verdacht, dass # 3 existiert. Aber als ich dann bemerkte, dass diejenigen, die Nr. 1 vorschlugen, herausfanden, dass Sie ein "Pfad" -Repository haben können, verschob ich meine Erweiterungen von App / Code in denselben Ordner, für den ich mich entschied, diese Artefakte zu platzieren, und verlangte es auf diese Weise.
In diesem Prozess sieht meine Repository-Konfiguration ungefähr so aus:
"repositories": {
"0": {
"type": "composer",
"url": "https://repo.magento.com/"
},
"artifacts": {
"type": "artifact",
"url": "artifacts"
},
"third-party": {
"type": "path",
"url": "artifacts/*/*"
},
},
Meine Frage an Sie lautet also: Was ist hier die beste Vorgehensweise? Wie verwalten Sie Erweiterungen von Drittanbietern?
Bisher glaube ich, dass die Art und Weise, wie ich das mache, die beste ist - schon deshalb, weil ihre composer.json gelesen wird und alle Abhängigkeitskonflikte (oder PHP-Versionsbeschränkungen) offensichtlich werden -, aber ich denke nicht, dass das definitiv genug ist.