Ausnahme „Symfony3-Klasse nicht gefunden“ nach Bundle-Erstellung
Beim Erstellen eines neuen Bundles in Symfony3 mit dem Befehl „generate:bundle“ kann es zu einer Fehlermeldung kommen ClassNotFoundException für das neu erstellte Bundle. Dieses Problem tritt insbesondere dann auf, wenn während der Bundle-Erstellung ein benutzerdefinierter Namespace eingeführt wird.
Die Hauptursache liegt in der Tatsache, dass der Befehl „generate:bundle“ es versäumt, den Autoload-Abschnitt von Composer.json zu aktualisieren, um den neuen Namespace einzuschließen. Folglich kann der Autoloader die Bundle-Klasse nicht finden, wenn der Server neu gestartet wird.
Um dieses Problem zu beheben, bearbeiten Sie „composer.json“ manuell und fügen Sie den folgenden Code im Abschnitt „psr-4“ hinzu:
"Paul\": "src/Paul"
Dadurch wird dem Autoloader mitgeteilt, wo sich der Paul-Namespace im src-Verzeichnis befindet.
Sobald „composer.json“ aktualisiert wurde, führen Sie Folgendes aus Befehle zum Aktualisieren des Autoloaders und zum Neustarten des Servers (falls erforderlich):
composer dumpautoload
Nach diesen Schritten sollte die ClassNotFoundException behoben sein und auf das Bundle kann wie erwartet zugegriffen werden.
Zusätzliche Punkte:
Das obige ist der detaillierte Inhalt vonSymfony 3: Warum eine ClassNotFoundException erhalten, nachdem ein Bundle mit einem benutzerdefinierten Namespace generiert wurde?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!