我正在构建 Symfony2 应用程序,该应用程序将具有 3 个不同的“模块”——第一个用于尝试将文本从一种语言翻译成另一种语言的用户,第二个用于翻译人员,第三个用于管理员。我想知道什么是最好的应用程序结构。
我应该有:
- 三个捆绑包 UserBundle、TranslatorBundle 和 AdminBundle 或
- 具有用于翻译等功能的捆绑包,并使用此类捆绑包划分用户/翻译/管理员访问权限。
最好的方法是什么?我在网上找不到任何涵盖该主题的好文章。
马特是对的。有时,即使是单个 Bundle 也足以满足您的所有需求。除非您在不同的应用程序之间共享捆绑包。
我认为您需要将admin
捆绑包分开。否则,您最终会得到两倍的捆绑包数量,一个用于前端,一个用于后端。只需设置firewall
管理部分。
看看这个 Symfony2 中的捆绑包应该代表什么
Symfony 网站上有一些关于这个主题的精彩文章:
http://symfony.com/doc/2.0/cookbook/bundles/best_practices.html
不过一般来说,不要为此苦恼。Symfony 非常灵活,因此您可以随时在以后进行重组而不会带来太多痛苦。以我个人的经验,我总是过早地将东西放入单独的包中,并为自己做了额外的工作,因为我必须不断地在包之间跳跃以完成(相对)简单的任务。