registration.php hilang
Rupanya Vendorname_Modulenamemodul saya tidak ada registration.php. Saya menjalankan versi Magento2 terbaru dari GitHub.
Setiap modul harus mendaftar sendiri di ComponentRegistrar. Tipikal registration.phpuntuk sebuah modul (di root modul Anda) dapat berisi:
<?php
use Magento\Framework\Component\ComponentRegistrar;
ComponentRegistrar::register(
ComponentRegistrar::MODULE,
'Vendorname_Modulename',
__DIR__
);
Lihat juga komponen inti Magento di app/code/Magento/atau vendor/magento/dir Anda
registration.php TIDAK hilang
Selain itu, jika Anda memiliki registration.phpfile di modul Anda, tetapi Anda masih mendapatkan kesalahan ini, ini berarti bahwa Anda registration.phptidak dimuat dan Magento2 tidak tahu tentang modul Anda.
Modul Anda harus berada di bawah app/code/(di mana Magento2 akan mencari folder app/code/dan menemukan modul Anda registration.php), tetapi jika Anda telah membangun modul Anda sebagai paket Komposer, itu akan berada di vendor/dir Komposer dan Anda perlu menipu Komposer untuk memuat modul Anda registration.php(Magento tidak mencari vendor/sendiri).
Jika Anda akan memeriksa modul Magento2 apa pun composer.jsondi vendor/magento/module-*, Anda akan melihat "autoload"bagian yang mereferensikan registration.phpfile. Jadi Composer akan memuat secara otomatis modul Anda registration.phpyang akan "memberi tahu" Magento2 di mana modul Anda berada.
Ini adalah bagian dari modul Magento Checkoutcomposer.json :
"autoload": {
"files": [
"registration.php"
],
"psr-4": {
"Magento\\Checkout\\": ""
}
}
Jika Anda memiliki modul dalam repositori terpisah dan dimuat melalui komposer, maka cara di atas adalah cara yang harus dilakukan. Jika Anda tidak memilikinya di repositori terpisah, maka modul Anda tidak termasuk vendor/tetapi dalam app/code/.