php - 架构决策 : main site, 论坛、博客

标签 php language-agnostic zend-framework forum

有人就项目的设置向我咨询过,我想就我的想法征求别人的意见。

这个网站的主要部分非常复杂并且具有非常定制化的功能,所以在我看来它更像是一个网络应用程序。但是需要一个博客,也需要一个论坛。这是该项目的总体概述。

因为网站的主要部分更像是一个网络应用程序,我认为这个项目应该分成由不同的框架和 CMS 负责的独立部分,这样每个组件就不会限制其他组件。不过,这是一个非常困难的决定,因为没有人愿意维护不同的框架和 CMS,除非这对他们来说确实是正确的事情。

我的逻辑是,因为网站的主要部分实际上是一个复杂的网络应用程序,所以试图将其放入 Drupal 或 Joomla 之类的 CMS 或任何会增加开发时间和成本的内容。使用 Zend Framework 或 Symfony 等更灵活的技术创建这部分是有意义的,基本上是框架而不是 CMS。

对于其余的组件,我看不到使用框架的意义,因为它们中的许多都是标准组件,例如博客和论坛。因此,对于网站的其余部分,我的选择是 1) 使用我熟悉的单个 CMS(比如 Drupal)构建所需的所有其他内容,但由于我已经走上了划分网站的道路,我想选项 2) 为什么不进一步划分站点并为每个组件选择最好的软件。例如,Drupal 就不是一个很好的论坛。这不是它的力量所在。

事实证明,将参与撰写博客的人大多不是为论坛做出贡献的人,所以我认为我不应该担心像在 2 个不同的地方培训相同的员工这样的事情软件。

但是我无法就此网站的可维护性下定决心。一方面,我认为维护 3 种主要的不同技术将变得更加困难:应用程序框架、专业论坛软件(欢迎建议)和专业博客软件(欢迎建议 strong>),但另一方面,我认为这实际上可能更容易维护,因为可以更轻松地删除或更改网站的一部分,而不会影响其他所有内容。

这是我的总体想法,但我担心它可能难以销售,因为它看起来像是我在试图使项目复杂化。我确实认为这种方法实际上简化了它。那么对此有什么想法吗?有没有我没有充分考虑的问题?如果您遇到相同类型的问题,您会做出哪些相似或不同的架构决策?

最佳答案

这确实是一个艰难的决定。然而,在其他任何事情之前,有几个关键问题需要回答。

1:该博客是否包含您所看到的博客软件的全部功能?或者您需要一组更小、更简单的函数?论坛也是如此。

2:是否需要在所有三个系统之间共享用户群?

3:是否要求网站的设计完全一致?

如果你们需要完整的论坛和博客,那么使用单独的系统是明智的。但是,如果所需的功能集很小,那么只定制构建它可能更明智,而不会花费太多时间。

如果需要共享用户群,那么跨三个不同系统集成 session 和用户群将是一件痛苦的事情,只使用一个用户表总是更容易和更流畅。您将不得不破解论坛和博客平台以使其与主要 cms 一起工作,这样做会有问题。

如果设计可以在这些系统上有所不同,那没关系,但是要使其完全相同将是一项壮举,并且需要相关论坛和博客平台的专门人员。所以维护设计也是一个问题。

这是一个非常艰难的决定。这将是短期成本与长期成本。如果您认为 Web 应用程序会存在一段时间,我投票支持增加短期成本,从长远来看,这会让事情变得更容易。

另一个注意事项: 如果将架构​​设计为模块化,则可以将论坛和博客系统开发为可以插入的模块。因此,您可以自由地使网站部分脱机。

关于php - 架构决策 : main site, 论坛、博客,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3839076/

相关文章:

algorithm - 最佳地重新排序钱包中的卡?

language-agnostic - 从python中的二进制文件中提取zlib压缩数据

zend-framework - htaccess 删除本地主机上 zend 框架中的尾部斜线

php - postUpdate 和 postPersist 在学说上的区别

php - 以编程方式设置运输方式 Woocommerce

javascript - 我怎样才能取消确认 sweetalert

javascript - axios POST 上的 PHP Post 数组为空

language-agnostic - 实践中的私有(private)与公共(public)成员(封装有多重要?)

php - 删除 zend 中的 http 响应 header

php - 如何在 Zend Framework 2 中编写 Like 查询