[英]How do I make Symfony2 autoload my routing.yml for my bundles that I create in vendors folder?
我使用控制台創建了一個示例包。 玩了一會兒。 現在,我將其移至供應商文件夾。
在vendors文件夾中,bundle的文件夾結構是
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: /
根據上面的定義,我得到以下錯誤:
無法從“D:/ localdev / www / symfony / app / config \\ routing.yml”導入資源“@ VendorNameSampleBundle / Resources / config / routing.yml”。確保“@ VendorNameSampleBundle / Resources / config / routing.yml”捆綁包正確注冊並加載到應用程序內核類中。
當我從app/config/routing.yml
刪除路由定義時,錯誤消失但路由不起作用。
看到這個我檢查了很多樣本包但我找不到他們如何處理bundle控制器的路由,這些bundle控制器駐留在vendors文件夾中。
任何人都可以幫我解決這個問題嗎?
好像我有一個命名空間問題。 現在,在更正“ resource:
”中的命名空間后,包括app/config/routing.yml
資源工作。
biberltd_currency:
resource: "@VendorNameSampleBundle/Resources/config/routing.yml"
prefix: /
您應該按照文檔中的描述創建路由加載器
另外,如Pazi所指出的那樣,配置你的bundle的composer.json
最后添加你的根composer.json:
"repositories": [
{
"type":"git",
"url":"/home/dev/bundle.git"
}
],
"require":{
"my/bundle":"dev-master"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.