Magento2: berbagai jenis file composer.json

9

Di Magento2 saya melihat vendor berbeda mengikuti format composer.json berbeda yang diberikan di bawah ini untuk memberi nama modul mereka.
1:

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

2:

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

1. Apa perbedaan antara mereka dan mana yang harus saya ikuti?
2. registration.phpdigunakan untuk mendaftar modul lalu mengapa composer.jsondiperlukan di semua modul?

amitshree
sumber

Jawaban:

12

Inilah cara untuk pergi:

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

Fungsi peta di Komposer:

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

memaksa ekstensi untuk diinstal app/code. Ini digunakan dalam versi beta yang lebih tua dari Magento 2. Meskipun ini akan berfungsi, itu bukan cara Magento memuat ekstensi lagi. Jika Anda tidak menggunakan fungsi peta, ekstensi akan dipasang di folder vendor, sebagaimana mestinya.

registration.php mendefinisikan jenis: tema atau ekstensi dan mendaftarkan tema / ekstensi Anda di Magento 2.

The composer.jsonfile ditambahkan sehingga ekstensi dapat dimuat melalui Composer. Itu juga menangani autoloading untuk ekstensi Anda.

Yg tinggal di hutan
sumber
2
referensi registrasi.php .
Steve Johnson