वर्ग psr-4 ऑटोलोडिंग मानक का अनुपालन नहीं करता है। लंघन [डुप्लिकेट]
मैं संगीतकार ऑटोलॉड का उपयोग करने की कोशिश करता हूं लेकिन मुझे यह त्रुटि मिलती है
संगीतकार.जॉन
{
"autoload":{
"psr-4":{
"App\\":"app/"
},
"files": ["app/functions/helper.php"]
},
"require": {
"vlucas/phpdotenv": "^2.4",
"altorouter/altorouter": "^1.2",
"philo/laravel-blade": "^3.1"
},
"config":{
"optimize-autoloader":true
}
}
मेरा टर्मिनल आउटपुट
Generating optimized autoload files
Class App\Controllers\BaseController located in D:/php/Xamp/htdocs/MVC_PHP/app\controllers\BaseController.php does not comply with psr-4 autoloading standard. Skipping.
Class App\Controllers\IndexControllers located in D:/php/Xamp/htdocs/MVC_PHP/app\controllers\IndexControllers.php does not comply with psr-4 autoloading standard. Skipping.
Class App\RoutingDispatcher located in D:/php/Xamp/htdocs/MVC_PHP/app\routing\RoutingDispatcher.php does not comply with psr-4 autoloading standard. Skipping.
Generated optimized autoload files containing 508 classes
जवाब
PSR-4 मानक के लिए अपनी फ़ाइलें और निर्देशिका केस संवेदी है और इसी वर्गों और नामस्थान PascalCase में होने के लिए की आवश्यकता है।
एक App\Controllers\BaseController
कक्षा के लिए, फ़ाइल में स्थित होना चाहिए:
app/Controllers/BaseController.php
अपरकेस को नोटिस करें
C
दूसरी त्रुटि : शीर्ष स्तर के नामस्थान के बाद किसी भी नाम स्थान के लिए , उसी नाम के साथ एक निर्देशिका होनी चाहिए।
आपके पास एक App\RoutingDispatcher
वर्ग है जिसे रखा जाना चाहिए app/RoutingDispatcher.php
लेकिन app/routing/RoutingDispatcher.php
फ़ाइल एक App\Routing\RoutingDispatcher
वर्ग के अनुरूप होगी ।
आपको उस वर्ग के नाम स्थान को बदलना होगा या फ़ाइल को स्थानांतरित करना होगा।
यदि आप इसके नाम स्थान को बदलते हैं, तो
app/routing
एक प्रमुख अपरकेस पत्र के साथ निर्देशिका का नाम बदलना सुनिश्चित करें ।