0

我使用控制台创建了一个示例包。玩了一会儿。现在,我将其移至供应商文件夹。

在 vendor 文件夹中,bundle 的文件夹结构是

VendorName\VendorName\Bundles\SampleBundle

我已将名称空间添加到composer/autoload_namespaces.phpAppKernel.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,错误消失但路由不起作用。

看到这一点,我检查了很多示例捆绑包,但我找不到它们如何处理位于供应商文件夹中的捆绑包的捆绑控制器路由。

谁能帮我解决这个问题?

4

2 回答 2

2

好像我遇到了命名空间问题。现在,在更正“ resource:”中的命名空间后,包括app/config/routing.yml作品中的资源。

biberltd_currency:
    resource: "@VendorNameSampleBundle/Resources/config/routing.yml"
    prefix:   /
于 2013-06-29T12:56:40.283 回答
0

您应该按照文档中的说明制作路由加载器

也正如 Pazi 所指出的,配置你的包的 composer.json

最后添加你的根 composer.json:

"repositories": [
{
    "type":"git",
    "url":"/home/dev/bundle.git"
}
],
"require":{
    "my/bundle":"dev-master"
}
于 2013-06-27T16:52:31.613 回答