Symfony2依赖的Bundle配置设计

时间:2012-10-12 15:14:05

标签: symfony bundle

以下问题并非特定于SonataAdminBundle,同样的设计问题仍然适用于所有第三方Bundle,但我采用了一个具体的例子来使其更清晰。

我正在为一个新的Symfony2应用程序安装SonataAdminBundle,它将广泛使用Bundle(某种后端项目)。

我读过Sonata文档(以及许多其他bundle文档)我应该在应用程序级别上提供有关routing / config / services等的信息,即:app / config / XXX

但是,我不认为这是我项目中的正确方法。 事实上,我的“BackendBundle”将如此依赖SonataAdminBundle,没有它就无法工作。

将所有这些配置文件直接放在我自己的“BackendBundle”的Ressource文件夹中,而不是在应用程序中,是不是更逻辑?在我看来,我的bundle的角色是处理Sonata配置导入,而不是应用程序角色。

2 个答案:

答案 0 :(得分:1)

只要从主路由.yml文件导入路由配置,就可以将路由配置放在一个包中。

捆绑文档使用简单示例,以便快速进行设置。这就是为什么你会经常看到导入路由资源的方式。

答案 1 :(得分:1)

您应该在捆绑包中连接服务依赖项,但项目的实际配置属于应用程序。

您的捆绑包依赖于另一个捆绑包是完全可以接受的,但是您添加到其中的配置应特别与此依赖关系相关,而不是与配置本身相关。实际配置属于您的应用程序,将项目配置添加到您的捆绑包使其实际上不可重用。

相关问题