在 Symfony 3.3 中建立新捆綁包有時會導致「ClassNotFoundSException」錯誤。執行以下步驟後會出現此令人費解的問題:
嘗試存取時顯示「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中文網其他相關文章!