我已經使用控制檯創建了一個樣本包。玩了一段時間。現在,我將其移至供應商文件夾。如何使Symfony2自動加載我在供應商文件夾中創建的捆綁包的routing.yml文件?
廠商在文件夾中的包的文件夾結構
VendorName\VendorName\Bundles\SampleBundle
我已經添加了命名空間到composer/autoload_namespaces.php
和AppKernel.php
我成功註冊了捆綁。在SampleBundle/Resources/config
文件夾中,有一個routing.yml
,它具有以前定義的路由信息。
當捆綁包位於src
文件夾內時,路由工作正常。我在app/config/routing.yml
有如下定義
biberltd_currency:
resource: "@VendorNameSampleBundle/Resources/config/routing.yml"
prefix: /
上述定義,我得到了以下錯誤:
Cannot import resource "@VendorNameSampleBundle/Resources/config/routing.yml from "D:/localdev/www/symfony/app/config\routing.yml". Make sure the "@VendorNameSampleBundle/Resources/config/routing.yml" bundle is correctly registered and loaded in the application kernel class.
當我從app/config/routing.yml
刪除路由定義,錯誤消失但路線不工作。
看到這個,我檢查了很多樣本包,但是我找不到他們如何處理捆綁控制器對於位於供應商文件夾中的捆綁包的路由。
任何人都可以幫我解決這個問題嗎?
爲什麼要將捆綁包轉移到供應商? –
現在我正在嘗試學習symfony。但我想到的是在供應商文件夾中創建所有非項目特定的捆綁包。我有我自己創建的庫。例如,我在不同的項目中使用的貨幣轉換器,圖像處理類等等,我可以在許多不同的項目中使用它們。我一直在閱讀symfony文檔,他們建議供應商文件夾應該有通用的文件,而src文件夾應該有特定於項目的文件。 –
有點不對。不要在供應商下編碼。一切都在src下。此外你的「通用」捆綁。如果你想解耦它,把它移到symfony之外,添加一個composer.json並在你的項目composer.json中引用它。 –