la clase no cumple con el estándar de carga automática psr-4. Omitiendo [duplicar]
Intento usar la carga automática del compositor pero obtengo este error
composer.json
{
"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
}
}
mi salida de terminal
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
Respuestas
El estándar PSR-4 requiere que sus archivos y directorios distingan entre mayúsculas y minúsculas y que las clases y espacios de nombres correspondientes estén en PascalCase.
Para una App\Controllers\BaseController
clase, el archivo debe estar ubicado en:
app/Controllers/BaseController.php
Note las mayúsculas
C
Segundo error : para cualquier espacio de nombres después del espacio de nombres de nivel superior , debe haber un directorio con el mismo nombre.
Tiene una App\RoutingDispatcher
clase que debería colocarse como app/RoutingDispatcher.php
pero el app/routing/RoutingDispatcher.php
archivo correspondería a una App\Routing\RoutingDispatcher
clase.
Debe cambiar el espacio de nombres de esa clase o mover el archivo.
Si cambia su espacio de nombres, asegúrese de cambiar el nombre del
app/routing
directorio con una letra mayúscula inicial.