registration.php लापता
जाहिर तौर पर मेरा Vendorname_Modulenameमॉड्यूल गायब था registration.php। मैं GitHub से नवीनतम Magento2 संस्करण चला रहा हूं।
हर मॉड्यूल को खुद को रजिस्टर करना होता है ComponentRegistrar। एक registration.phpमॉड्यूल के लिए एक विशिष्ट (आपके मॉड्यूल की जड़ में) शामिल हो सकता है:
<?php
use Magento\Framework\Component\ComponentRegistrar;
ComponentRegistrar::register(
ComponentRegistrar::MODULE,
'Vendorname_Modulename',
__DIR__
);
इसके अलावा app/code/Magento/या अपने vendor/magento/डायर में किसी भी Magento कोर घटक देखें
registration.php गायब नहीं है
इसके अलावा, यदि आपके पास registration.phpअपने मॉड्यूल में एक फ़ाइल है, लेकिन आपको अभी भी यह त्रुटि मिल रही है, तो इसका मतलब है कि आपका registration.phpलोड नहीं हुआ था और Magento2 को आपके मॉड्यूल के बारे में नहीं पता है।
आपका मॉड्यूल नीचे होना चाहिए app/code/(जहां Magento2 फ़ोल्डर खोजेगा app/code/और आपके मॉड्यूल को खोजेगा registration.php), लेकिन अगर आपने अपना मॉड्यूल कंपोजर पैकेज के रूप में बनाया है, तो यह संगीतकार की vendor/डायर में होगा और आपको अपने मॉड्यूल को लोड करने में कंपोजर को ट्रिक करने की आवश्यकता होगी registration.php(Magento अपने आप में खोज नहीं करता vendor/है)।
आप किसी भी Magento2 मॉड्यूल के जाँच चाहते हैं तो composer.jsonमें vendor/magento/module-*, आप एक देखेंगे "autoload"अनुभाग जो संदर्भ registration.phpफ़ाइल। तो संगीतकार आपके मॉड्यूल को ऑटोलैड registration.phpकरेगा जो कि " मात्सेंटो 2 " को बताएगा जहां आपका मॉड्यूल स्थित है।
यह Magento चेकआउट मॉड्यूल से एक टुकड़ा है composer.json:
"autoload": {
"files": [
"registration.php"
],
"psr-4": {
"Magento\\Checkout\\": ""
}
}
यदि आपके पास एक अलग रिपॉजिटरी में अपना मॉड्यूल है और संगीतकार के माध्यम से लोड किया गया है, तो ऊपर जाने का रास्ता है। यदि आपके पास एक अलग रिपॉजिटरी में नहीं है, तो आपका मॉड्यूल संबंधित नहीं है, vendor/लेकिन अंदर है app/code/।