0
我已經開始學習Symfony和我下面一些教程那裏是一無所知:我是否需要手動將每個生成的包附加到composer.json?
當我創建的symfony安裝一個新的項目並運行composer install
然後php app/console server:start
我可以在瀏覽器中打開該項目。
但是!當我創建命令php app/console generate:bundle
新的組合我收到此錯誤信息:
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
然後我需要去我composer.json文件並追加我的新生成的束的appbundle後這樣
{
"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"
]
},
..........
然後,當我嘗試再次啓動服務器時,它可以正常工作,並在瀏覽器中顯示Hello world。
所以問題是我必須每次都這樣做(在composer.json文件中追加新生成的包)?
這是不太正確的。一個「psr-4」:{「」:「src /」}將處理所有情況。事實上,在S3.2之前,這正是composer.json中的內容。據說,雖然我有點懷疑,但指定映射比較快。更多信息:https://github.com/symfony/symfony-standard/issues/1098 – Cerad