Magento2: другой вид файлов composer.json


9

В Magento2 я вижу, что разные производители используют разные форматы composer.json, указанные ниже, чтобы назвать свои модули.
первый:

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

второй:

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

1. Какая разница между ними и какой я должен следовать?
2. registration.phpиспользуется для регистрации модуля, тогда зачем composer.jsonон нужен во всех модулях?

Ответы:


12

Это путь:

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

Функция карты в Composer:

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

заставляет расширение быть установленным в app/code. Это использовалось в более старой бета-версии Magento 2. Хотя это будет работать, Magento больше не загружает расширения. Если вы не используете функцию map, расширение будет установлено в папке vendor, как и должно быть.

registration.php определяет тип: тема или расширение и регистрирует вашу тему / расширение в Magento 2.

composer.jsonФайл добавляется так что расширение может быть загружено с помощью Composer. Он также обрабатывает автозагрузку для вашего расширения.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.