Symfony2:一套用于后台办公,另一套用于公共网站

时间:2015-03-05 18:06:52

标签: symfony bundles

我正在开发一个有公共部分和后台部分的网站。我的意图是拥有这个捆绑结构:

  • Acme / CoreBundle:公共实体,存储库,公共和私人服务
  • Acme / BackofficeBundle:后台的控制器,表单,URL等等
  • Acme / FrontofficeBundle:前台办公室相同

然后修改app_kernel,以便根据虚拟主机的环境变量加载其中一个或另一个的捆绑包。

这有意义还是有更好的方法呢?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为你应该采用与你提出的方法不同的方法。你不需要在后端和前端之间做出明显的区别。你应该使用" frontend vs backend"之外的其他标准来组织你的代码。

我们假设你有一个购物车。因此,您可能需要一些订单,客户和产品管理。你将有一个前端和一个后端。我认为在这种情况下最好的做法是,如果您接受订单,则创建一个Acme \ OrderBundle。在这里,您将保留与订单相关的所有内容。您可以将前端控制器保留在Controller / Backend /中的Controller /和后端控制器中。您可以为后端区域创建一些服务,并将它们保存在Acme \ OrderBundle \ Backend中,但通常是您的服务/表单/等。不应该知道他们在哪里使用,前端或后端。应该使用控制器来进行区分。这样,您就可以为前端和后端使用的订单管理创建服务,可以在两端使用的表单等。