重用Bundle Symfony2

时间:2012-01-25 20:06:45

标签: symfony

这似乎应该很容易,但我无法找到答案。如何在同一个symfony项目中多次重用bundle?例如,如果我有一个文章包,我想在同一个网站上多次使用。

我在应用程序routing.yml中看到你可以为路由的URL添加一个前缀,但是如果我多次尝试使用不同的前缀,每次只有最后一个有效。假设捆绑中的唯一路由名称没有前缀,只是路径。

Foo:
    resource: "@Foo/Resources/config/routing.yml"
    prefix:   /bar/

Bah:
    resource: "@Foo/Resources/config/routing.yml"
    prefix:   /bah/

那么我从哪里开始呢?有没有办法自动添加唯一的路由名称,数据库表等(同时仍然能够引用/链接到模板内的所有内容)。或者这是symfony刚刚设计不适应的情况?

1 个答案:

答案 0 :(得分:0)

我相信有两种选择:

  • 在您的包中创建对象: 在您的foo控制器内部,执行以下操作:

    use Acme\BahBundle\Class;

然后你应该可以调用它

$class = new Class();
$class->function('params');
  • 另一种选择是将捆绑包注册为服务,请查看文档以获取更多信息:

http://symfony.com/doc/2.0/book/service_container.html