registration.php
hilang
Rupanya Vendorname_Modulename
modul saya tidak ada registration.php
. Saya menjalankan versi Magento2 terbaru dari GitHub.
Setiap modul harus mendaftar sendiri di ComponentRegistrar
. Tipikal registration.php
untuk 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.php
file di modul Anda, tetapi Anda masih mendapatkan kesalahan ini, ini berarti bahwa Anda registration.php
tidak 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.json
di vendor/magento/module-*
, Anda akan melihat "autoload"
bagian yang mereferensikan registration.php
file. Jadi Composer akan memuat secara otomatis modul Anda registration.php
yang 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/
.