Magento2: différents types de fichiers composer.json

9

Dans Magento2, je vois différents fournisseurs suivre différents formats composer.json donnés ci-dessous pour nommer leurs modules.
1er:

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

2e:

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

1. Quelle différence entre eux et lequel dois-je suivre?
2. registration.phpest utilisé pour enregistrer un module, alors pourquoi composer.jsonest-il nécessaire dans tous les modules?

amitshree
la source

Réponses:

12

C'est la voie à suivre:

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

La fonction de carte dans Composer:

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

force l'extension à être installée dans app/code. Cela a été utilisé dans les anciennes versions bêta de Magento 2. Bien que cela fonctionne, ce n'est plus ainsi que Magento charge les extensions. Si vous n'utilisez pas la fonction de carte, l'extension sera installée dans le dossier du fournisseur, comme il se doit.

registration.php définit le type: thème ou extension et enregistre votre thème / extension dans Magento 2.

Le composer.jsonfichier est ajouté pour que l'extension puisse être chargée via Composer. Il gère également le chargement automatique de votre extension.

Sylvain
la source
2
registration.php reference.
Steve Johnson