Mentre lavoravo a un progetto client per Magento 2, ho scoperto numerosi metodi per caricare e tenere traccia delle estensioni di terze parti.
Partendo da questo presupponendo che stiamo usando il metodo di installazione dell'integratore (compositore!), Quali sono le migliori pratiche per la gestione delle estensioni di terze parti?
Finora, ogni estensione che ho acquistato o scaricato ha avuto il proprio file composer.json - e conosco almeno tre modi diversi in cui gli autori dell'estensione raccomanderebbero di installare la loro estensione:
- Copia questi file in app / codice
- Copia questo zip nella cartella, aggiungilo è un repository di artefatti e lo richiede
- Aggiungi questo repository online (con / senza autenticazione) e richiedilo
Finora mi sono imbattuto in 1 e 2 e sono solo una specie di sospetto che esista il n. 3. Ma poi, notando che quelli che hanno suggerito il n. 1, ho scoperto che puoi avere un repository "path" - ho spostato le mie estensioni dall'app / codice nella stessa cartella, ho deciso di inserire questi artefatti e lo ho richiesto in questo modo.
In questo processo, la configurazione dei miei repository assomiglia a:
"repositories": {
"0": {
"type": "composer",
"url": "https://repo.magento.com/"
},
"artifacts": {
"type": "artifact",
"url": "artifacts"
},
"third-party": {
"type": "path",
"url": "artifacts/*/*"
},
},
Quindi la mia domanda per te è: qual è la migliore pratica qui? Come gestite le estensioni di terze parti?
Finora credo che il modo in cui lo sto facendo sia il modo migliore - se non altro perché il loro composer.json viene letto e tutti i conflitti di dipendenza (o vincoli di versione PHP) diventeranno evidenti - ma non penso che sia abbastanza definitivo.