0

下面的问题不是 SonataAdminBundle 特有的,所有第三方 Bundle 仍然存在相同的设计问题,但我举了一个具体的例子来说明清楚。

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

我阅读了 Sonata 文档(以及许多其他捆绑文档),我应该将有关路由/配置/服务等的信息放在应用程序级别,即:app/config/XXX

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

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

4

2 回答 2

1

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

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

于 2012-10-12T19:39:17.713 回答
1

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

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

于 2012-10-12T23:57:21.023 回答