簡體   English   中英

如何讓Symfony2為我在vendor文件夾中創建的bundle自動加載我的routing.yml?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM