la classe n'est pas conforme à la norme de chargement automatique psr-4. Ignorer [dupliquer]
J'essaie d'utiliser le chargement automatique du compositeur mais j'obtiens cette erreur
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
}
}
ma sortie 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
Réponses
Le standard PSR-4 exige que vos fichiers et répertoires soient sensibles à la casse et que les classes et espaces de noms correspondants soient en PascalCase.
Pour une App\Controllers\BaseController
classe, le fichier doit être situé dans:
app/Controllers/BaseController.php
Remarquez les majuscules
C
2ème erreur : pour tout espace de noms après l' espace de noms de niveau supérieur , il doit y avoir un répertoire avec le même nom.
Vous avez une App\RoutingDispatcher
classe qui devrait être placée comme app/RoutingDispatcher.php
mais le app/routing/RoutingDispatcher.php
fichier correspondrait à une App\Routing\RoutingDispatcher
classe.
Vous devez modifier l'espace de noms de cette classe ou déplacer le fichier.
Si vous modifiez son espace de noms, veillez à renommer le
app/routing
répertoire avec une majuscule en tête.