Magento2: diferentes tipos de archivos composer.json

9

En Magento2 veo que diferentes proveedores siguen diferentes formatos de composer.json que se dan a continuación para nombrar sus módulos.
1er:

 "autoload": {
    "files": [ "registration.php" ],
    "psr-4": {
      "Amit\\SamplePage\\": ""
    }
  }

2do:

   "extra": {
        "map": [
            [
                "*",
                "Amit/SamplePage"
            ]
        ]
    }

1. ¿Cuál es la diferencia entre ellos y cuál debo seguir?
2. registration.phpse utiliza para registrar un módulo, ¿por qué composer.jsonse necesita en todos los módulos?

amitshree
fuente

Respuestas:

12

Este es el camino a seguir:

"autoload": {
    "files": [ "registration.php" ],
    "psr-4": {
      "Amit\\SamplePage\\": ""
    }
  }

La función de mapa en Composer:

   "extra": {
        "map": [
            [
                "*",
                "Amit/SamplePage"
            ]
        ]
    }

fuerza la instalación de la extensión app/code. Esto se usó en versiones anteriores de Magento 2. Aunque esto funcionará, ya no es la forma en que Magento carga extensiones. Si no utiliza la función de mapa, la extensión se instalará en la carpeta del proveedor, como debería ser.

registration.php define el tipo: tema o extensión y registra su tema / extensión en Magento 2.

El composer.jsonarchivo se agrega para que la extensión se pueda cargar a través de Composer. También maneja la carga automática para su extensión.

Selvático
fuente
2
registro.php referencia.
Steve Johnson