Symfony 2中的应用程序结构

时间:2014-03-22 20:16:09

标签: php symfony fosuserbundle

我对symfony框架很陌生并且上了一些课程并从knpuniverse购买了“从Symfony2开始”教程。我想确保我为我的应用程序使用正确的设置。我的问题是,你怎么称呼你的第一个中央捆绑?例如。 FrontendBundle?我想在我的应用程序中创建下一个结构:

  • FrontendBundle
    • 人们可以登陆的前端,他们也可以登录

从那里,当他们登录时,他们进入下一个包:

  • CustomerBundle
    • 后端应用程序,客户收到发票并付款并编辑我们存储在数据库中的信息

至少:

  • AdminBundle
    • 我可以编辑客户,为客户开具发票和编辑应用信息的另一个后端应用

这是正确的方法吗?FOSUserBundle是这类应用的好捆绑吗?

2 个答案:

答案 0 :(得分:0)

捆绑包只有在“多个项目”中使用才有意义。我的意思是:如果您编写代码,将其作为一个包,并且您不能重复使用该包(例如,因为如上所述,bundle严格地和逻辑地连接到您的项目)这三个bundle分离是完全没用的。 / p>

因此,最终答案(也是一个问题)是:

你可以在其他项目中重用FrontendBundle吗? 您可以在其他项目中重复使用CustomBundle吗? 你可以在其他项目中重用AdminBundle吗?

如果您发现不能将任何或所有这些捆绑包用于其他项目,可能这种分离效果不佳。

我为什么这么说?

因为如果它们不能以分开的方式使用,可能它们应该被用来指导,所以你应该保持它们不变。

所以我建议将它们保存在一个捆绑包中(例如,YourNameYourBundleNameBundle(在该表示法中))并分隔单个“区域”:

  • FrontEnd控制器/实体/视图
  • 自定义控制器/实体/视图
  • 管理控制器/实体/观点

答案 1 :(得分:0)

已经详细讨论过这个问题。对于特定于应用程序的代码do a single AppBundledon't use bundles at all