Maison > développement back-end > tutoriel php > Symfony 3 : Pourquoi obtenir une ClassNotFoundException après avoir généré un bundle avec un espace de noms personnalisé ?

Symfony 3 : Pourquoi obtenir une ClassNotFoundException après avoir généré un bundle avec un espace de noms personnalisé ?

DDD
Libérer: 2024-11-27 03:55:11
original
497 Les gens l'ont consulté

Symfony 3: Why Get a ClassNotFoundException After Generating a Bundle with a Custom Namespace?

Exception de classe Symfony3 introuvable après la création du bundle

Lors de la création d'un nouveau bundle dans Symfony3 à l'aide de la commande generate:bundle, vous pouvez rencontrer un ClassNotFoundException pour le bundle nouvellement créé. Ce problème survient spécifiquement lorsqu'un espace de noms personnalisé est introduit lors de la création du bundle.

La cause première réside dans le fait que la commande generate:bundle néglige de mettre à jour la section de chargement automatique de composer.json pour inclure le nouvel espace de noms. Par conséquent, le chargeur automatique ne parvient pas à localiser la classe du bundle au redémarrage du serveur.

Pour résoudre ce problème, modifiez manuellement composer.json et ajoutez le code suivant dans la section psr-4 :

"Paul\": "src/Paul"
Copier après la connexion

Cela indique au chargeur automatique où trouver l'espace de noms Paul dans le répertoire src.

Une fois composer.json mis à jour, exécutez ce qui suit commandes pour actualiser l'autochargeur et redémarrer le serveur (si nécessaire) :

composer dumpautoload
Copier après la connexion

Après ces étapes, l'exception ClassNotFoundException devrait être résolue et le bundle est accessible comme prévu.

Points supplémentaires :

  • Ce problème a commencé à se produire après que Symfony 3.2 a modifié le psr-4 par défaut Mappage d'espace de noms de "" vers AppBundle\.
  • Si vous le souhaitez, vous pouvez revenir à l'ancien mappage d'espace de noms en modifiant composer.json.
  • Pour des informations plus détaillées, reportez-vous au problème GitHub : https https://github.com/symfony/symfony-standard/issues/1098

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal