私はsymfonyを学ぶために始めていると私は、このことについては何もありませんいくつかのチュートリアル次のです:生成されたすべてのバンドルを手動でcomposer.jsonに追加する必要はありますか?
私はsymfonyのインストーラを使用して新しいプロジェクトを作成し、composer install
を実行し、その後php app/console server:start
私は私のブラウザでそのプロジェクトを開くことができます。
BUT!
PHP Fatal error: Uncaught Symfony\Component\Debug\Exception\ClassNotFoundException: Attempted to load class "BlogBundle" from namespace "BlogBundle".
Did you forget a "use" statement for another namespace? in /home/user/Symfony/myapp/app/AppKernel.php:19
をそして私は、この
{
"name": "user/myapp",
"license": "proprietary",
"type": "project",
"autoload": {
"psr-4": {
"AppBundle\\": "src/AppBundle",
"BlogBundle\\": "src/BlogBundle" // <-- this is the new appended one
},
"classmap": [
"app/AppKernel.php",
"app/AppCache.php"
]
},
..........
ようAppBundle後に私composer.jsonファイルに移動し、私の新しい生成されたバンドルを追加する必要があります:私はコマンド
php app/console generate:bundle
で新しいバンドルを作成するとき、私は、このエラーメッセージが表示されます
そして、サーバーを再起動しようとすると、ブラウザにHello worldが表示されます。
私はこれを毎回行う必要があります(作成された新しいバンドルをcomposer.jsonファイルに追加する必要がありますか)。
これはかなり正確ではありません。 1つの "psr-4":{"": "src /"}はすべてのケースを処理します。実際、S3.2以前では、これはまさにcomposer.jsonにあったものです。おそらく、私は少し懐疑的ですが、マッピングの指定は少し高速です。詳細:https://github.com/symfony/symfony-standard/issues/1098 – Cerad