Marshalling in Magento2.
-
13-12-2019 - |
Domanda
Secondo magento2 doc Per impostazione predefinita, quando si installa un pacchetto, il compositore lo mette in directory vendor/<package>
, ad esempio vendor/magento-module-catalog
.Tuttavia, il quadro magento richiede che i componenti magentani siano in luoghi diversi, come app/code/Magento/Catalog
.Il processo di copia o spostamento del contenuto dei pacchetti da impostazione predefinita alla posizione necessaria si chiama Marshalling.
Qual è il vantaggio di copiarlo in vendor/<package>
prima e poi spostarlo in qualcosa come app/code/Magento/Catalog
?
Soluzione
Sembra che diverse cose cambiano con alcuni ultimi cambiamenti (7 ottobre) nel ramo di sviluppo.Ho creato due esempi di installazione di moduli.Uno che copia i file in app / codice e un altro che registra il modulo in cui risiede nella directory del fornitore.
Strategia di copia: https://github.com/mttjohnson/magento2-sample-Module-minimal-copy
Strategia di registrazione: https://github.com/mttjohnson/magento2-sample-module-Registro minimal
Per scopi di sviluppo Penso che l'utilizzo della strategia di registrazione sia più utile perché i file che vengono gestiti da Magento possono essere modificati direttamente, testati e poi si sono impegnati sul repo del modulo.
Altri suggerimenti
Non ci sono vantaggi (eccetto la semplicità di sviluppo, possiamo cartella hardcode app / codice in test, utils, ecc.), È requisito legacy da M1 per mettere i moduli nella cartella App / Code.
Ma ora, possiamo inserire i componenti nella cartella del fornitore e utilizzare il meccanismo di autoloading per registrarlo.