Maison > développement back-end > tutoriel php > Symfony 3.3 ClassNotFoundException après la création du bundle : comment résoudre le problème de chargement automatique ?

Symfony 3.3 ClassNotFoundException après la création du bundle : comment résoudre le problème de chargement automatique ?

Linda Hamilton
Libérer: 2024-11-24 17:57:12
original
925 Les gens l'ont consulté

Symfony 3.3 ClassNotFoundException After Bundle Creation: How to Fix the Autoload Issue?

Symfony 3 : Dépannage de ClassNotFoundException après la création d'un bundle

La création d'un nouveau bundle dans Symfony 3.3 peut parfois conduire à une erreur "ClassNotFoundException". Ce problème déroutant se produit après avoir effectué les étapes suivantes :

  1. Générer un nouveau projet à l'aide de "symfony new ArtProject"
  2. Créer un nouveau bundle à l'aide de "php app/console generate:bundle (Paul /ArtBundle, yml, src/)"

Lors de la tentative d'accès "127.0.0.1:8000", le message d'erreur s'affiche.

Comprendre le problème

L'erreur se produit car la commande "generate:bundle" ne parvient pas à mettre à jour la section "autoload" de " composer.json" lorsqu'un nouvel espace de noms est introduit. Cela entraîne l'échec du chargement correct de la classe du bundle créé.

Résolution

Pour résoudre le problème, modifiez manuellement "composer.json" et ajoutez la ligne suivante :

"psr-4": {
    "AppBundle\": "src/AppBundle",
    "Paul\": "src/Paul"
}
Copier après la connexion

Ensuite, exécutez "composer dumpautoload" et redémarrez le serveur.

Arrière-plan

Dans Symfony 3.2, la configuration "autoload" recherchait automatiquement toutes les classes PHP dans le répertoire "src/". Cependant, dans Symfony 3.3, cette configuration a changé pour inclure explicitement les espaces de noms. Par conséquent, la commande "generate:bundle" ne met plus à jour la section "autoload", ce qui entraîne l'erreur de classe introuvable.

Conclusion

Ce problème peut être facilement résolu en mettant à jour manuellement le fichier « composer.json » et exécutez « composer dumpautoload ». N'oubliez pas que ce problème est dû au changement de configuration "autoload" dans Symfony 3.3.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal