【问题标题】:Building CMS on top of Framework (Theory Only) [closed]在框架之上构建 CMS(仅限理论)[关闭]
【发布时间】:2012-09-23 20:32:58
【问题描述】:

我正在寻找详细说明理论方法的答案,所以不要担心任何技术细节。

我正在研究构建简单 CMS 的概念,但我无法决定是使用带有各种库的纯 PHP,还是在 Zend 或 Symfony 等 MVC 框架之上构建它。

我担心的是,通过在框架上构建它意味着模板和内容管理必须经过我自己构建的自定义抽象层,其处理将构建在框架之上,因此本质上是两层框架。

这是一个有效的解决方案,还是应该从头开始构建路由系统,并简单地使用第三方库进行 DBO 抽象和其他有用的工具用于更具体的组件?

谢谢。

【问题讨论】:

  • @anonymousdownvotingislame 是的,当然,使用传统的意大利面条代码博客平台,扭曲为带有不可靠来源插件的通用 cms,并支持 SS 缓存以克服自然缓慢。不,真的,请大家不要每次都建议 WP。此外,它甚至没有回答已经 OT 的问题
  • @DamienPirsy 显然,您从未破解过 WP 的代码库,将其用作通用 CMS,或寻找“可靠”来源的任何插件五秒钟。我可以摧毁你提出的每一个观点,但是像你一样诋毁 WP 的人,没有探索它,不值得它的敬畏。
  • 嗯,实际上,我这么说正是因为我打开它并使用它......但这不是这样一个永无止境的讨论的地方

标签: php zend-framework content-management-system abstraction


【解决方案1】:

如果您使用库构建 CMS,那么您要做的就是重用您自己编写的代码,并且可能有一种速记方式来编写代码。如果您可以轻松地拆分代码或在时机成熟时重新从头开始编写代码,那么这应该不是问题。

但是,如果您使用框架来编写 CMS,它会为您提供已经包含在其中的编码功能,例如 MVC、测试、模板语言、ORM,也许还有脚手架、迁移和其他类似的东西。

【讨论】:

  • 这就是我的感觉。我担心的是,通过使用 MCV 库,我可以相对轻松地构建管理面板,但是当涉及到用户网站的定制时,框架和 CMS 页面的路由系统之间可能存在冲突.我可能仍然会考虑使用一个,因为不使用一个我可能会否认自己有许多久经考验的概念,但我必须好好考虑一下。这真的是我想第一次做对的事情。
  • 但是使用框架的路由系统,比你自己构建一个更容易和可定制。它可以从您的数据库中获取内容并用它填充 url。你真的想只用 PHP 类做事吗? toolkit.getkirby.comflourishlib.comclickontyler.com/simple-php-framework
  • 我有点担心我的应用程序会依赖于框架。我应该提到,路由系统需要以 API 的形式提供数据,而不是加载页面。因此,虽然 MVC 的一种形式很重要,但它不需要那么重来考虑模板之类的东西。我已经决定一件事,在 Zend 或 Doctrine 上使用 phps PDO,因为我的系统需要快速且便携,以启用流畅的“交互和响应”UI。也许基于 API - UI 独立系统是您熟悉的东西?
  • 您的应用程序将依赖于您用来编码的whatever。这是无可避免的。
  • 我的意思是我担心它变得足够依赖,以至于框架的改变需要系统架构的改变,而在这种情况下使用框架来执行更具体的任务应该只需要适度的改变。我查看了一些开源系统的源代码,而不仅仅是 CMS,而且我很少看到它们构建在他们自己没有构建的 MVC 框架之上。有什么特别的原因吗?
【解决方案2】:

还有另一种方法需要考虑,例如将 CMS 构建为服务,以支持在任何地方托管的多个网站。通过采用带有 REST 和 HTML5 和 CORS 的插件方法来实现这一点,这将允许您在任何服务器端技术中的任何任意内容项上进行内容管理。我最终自己为我的电子商务公司做这件事,因为我们在这些场景中支持不同的服务器端和不同的方法和框架。然后我把它作为一个副公司,但它实际上只是我更喜欢使用的一个工具,并且在收入方面并没有得到太多,因为我不推广它。如果我重新开始我会做什么,我可能会决定这样做以使其更清洁,因为它的回归将使它在安全模型和 API 样式方面更像 Amazon Web Services 工作。如果您查看 kitgui.com,您可以更好地了解我在说什么

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-29
    • 2015-03-25
    • 2013-08-24
    • 2011-09-07
    • 1970-01-01
    • 2012-10-16
    • 2013-02-27
    相关资源
    最近更新 更多