Symfony 3.3 で新しいバンドルを作成すると、「ClassNotFoundException」エラーが発生することがあります。この不可解な問題は、次の手順を実行した後に発生します。
にアクセスしようとしたとき「127.0.0.1:8000」というエラー メッセージが表示されます。
このエラーは、「generate:bundle」コマンドが「」の「autoload」セクションを更新できないために発生します。新しい名前空間が導入されると、composer.json」となります。これにより、作成されたバンドルのクラスを適切にロードできなくなります。
問題を解決するには、「composer.json」を手動で編集し、次の行を追加します:
"psr-4": { "AppBundle\": "src/AppBundle", "Paul\": "src/Paul" }
次に、「composer dumpautoload」を実行し、 server.
Symfony 3.2 では、「autoload」設定により、「src/」ディレクトリ内のすべての PHP クラスが自動的に検索されました。ただし、Symfony 3.3 では、この設定は名前空間を明示的に含むように変更されました。その結果、「generate:bundle」コマンドは「autoload」セクションを更新しなくなり、クラスが見つからないエラーが発生します。
この問題は、手動で更新することで簡単に解決できます。 「composer.json」ファイルと「composer dumpautoload」を実行します。この問題は、Symfony 3.3 の「自動ロード」設定の変更が原因であることに注意してください。
以上がバンドル作成後の Symfony 3.3 ClassNotFoundException: 自動ロードの問題を修正するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。