0

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

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

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

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

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

- 编辑 -

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

4

1 回答 1

0

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

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

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

但这很奇怪,在我看来,每个捆绑一个设置页面是一个好方法,冗余参数是不好的,因为今天你想要相同的设置来对博客和论坛的评论进行排序,但明天,也许你想要一个他们之间的区别。

这是我的观点,而不是“解决方案”;)

于 2013-09-25T07:57:42.620 回答