Symfony 应用程序中的逻辑结构


Structure of logic in Symfony app

我对symfony框架很陌生,对于一个新项目,我想确保我得到了正确的设置。项目本身将有一个前端和后端,并将包含几个模块,如博客、论坛、新闻文章等。

每个模块都将成为捆绑包。这对我们来说似乎是最好的解决方案。我们希望能够取出一个捆绑包并用不同的捆绑包替换它。因此,例如,我们可能有 2 种不同类型的博客包,如果需要,我们可以交换它们。因此,与模块相关的所有设置和其他部分都位于同一捆绑包中非常重要。

现在,问题在于每个模块的设置将跨不同的页面。例如,博客和论坛上评论的排序顺序将配置在同一页面上,远离您管理博客文章的页面。每个模块的上传设置将位于不同的页面上。等。

对我来说,听起来最合乎逻辑的是,不知何故,这些设置在指定的博客和论坛捆绑包上更新。所以所有部分都在一起。或者,也许以某种方式,负责设置的页面能够找到哪些模块具有这些类型的设置并检索。

解决此问题的最佳架构是什么?

--编辑--

博客文章,博客评论,博客

上传,都是一个博客包的一部分。博客包的设置也不会显示在论坛包中。我的意思是,捆绑包中有一个名为"设置"的单独页面,它负责应用程序的所有设置。它还应该处理每个捆绑包的设置。因此,您可以在同一页面上编辑博客设置和论坛设置,并且此页面不是任何论坛或博客包的一部分。

为博客提供一个捆绑包:好的,有一个博客文章的捆绑包和一个非常非常糟糕的评论的捆绑包。因此,您当然可以为捆绑包创建一个设置页面,并且您可以拥有应用程序的核心,谁正在创建每个页面之间的链接。

但是,如果您需要在不同捆绑包上的页面上进行设置,则您的应用程序结构很糟糕。对于一个功能,使用服务,对于链接在一起的一组功能,使用捆绑包。

----编辑您的捆绑包必须在他自己的捆绑包中有一个设置页面。您可以使用 twig 轻松添加它们,但您始终需要自己制作此模板(这是正常的(来创建您的设置页面。如果您有多个捆绑包使用的参数,您只需在同一位置注册此参数并剪切模板以为每个参数创建一个块,并且只需在完整模板中包含您需要的块。

但这很奇怪,在我看来,每个捆绑包一个设置页面是一个好方法,冗余参数是不好的,因为今天您希望使用相同的设置对博客和论坛的评论进行排序,但明天,也许您希望它们之间存在差异。

这是我的观点,不是"解决方案";)