【问题标题】:Integrating a user-facing PHP framework and an admin-facing PHP CMS集成面向用户的 PHP 框架和面向管理员的 PHP CMS
【发布时间】:2010-07-07 20:39:42
【问题描述】:

我的公司正在寻找各种 PHP 框架来构建客户的网站。这是一家拥有一些遗留内部框架的商店,我们正试图摆脱这种框架。在我的业余时间,我在 CodeIgniter 中进行了编码,并在 Kohana 中涉猎了一些。我还没有使用过像 Joomla 或 Drupal 这样的 CMS,但我认识到它们是分别使用 MVC 和 PAC 设计模式构建的。在开始我的挖掘工作时,我得出了一个初步结论,即使用类似 CodeIgniter 的东西来构建网站的面向用户的部分和类似 Joomla 的东西来构建网站的面向管理员的部分可能更有意义,比如 Joomla除非您专门访问 admin.xxxxx.com,否则永远不会加载。

所以按照这个逻辑(如果它有很大缺陷,请告诉我),我在这里问是否有人曾经做过这样的事情,如果是这样,利用一些可能的最佳方法是什么? Joomla 更自动化的功能(对不起,如果我在这里没有详细介绍......我对 Joomla 的研究还不够深入,无法了解它的一切......请纠正任何严重的认知错误!!)像 CodeIgniter 这样更轻量级的框架。

或者这是错误的思路?我的第一直觉是通过数据库中的数据将两者联系起来,从不让它们直接通信,但我只是想在将其提交给我的上级之前确保这是正确的。

伙计们,Vielen 湿透了

【问题讨论】:

  • 这可能会涉及到一个有争议的非 SO 类型的话题,但您正在努力使用 joomla 或 drupal 仅用于它们的管理功能(其中,我不能说我喜欢)。同样,drupal 使用上下文管理功能,因此它需要成为核心的一部分。要么跳入 cms 之一,要么不跳入。

标签: php codeigniter joomla


【解决方案1】:

很可能有缺陷,所有这些 CMS 的运行都假设它们同时用于管理和用户站点,这导致的主要问题是代码和工作方式非常交织在一起,这意味着一个简单的“挂钩” database' 通常是不够的,您必须使用大部分 CMS 代码来提取/放置有效数据 - 另一个需要注意的是,如果管理员升级,它可以轻松更改会破坏的数据库模式你的前端。

我强烈建议您使用其中一种,或者您自己的设计使用管理和用户站点的框架 - 或者只是坚持使用单个 CMS 并通过插件实现您需要的任何功能。

最好的!

【讨论】:

  • 嘿内森。非常感谢您的回答!我能麻烦您谈谈哪个更好吗?该站点将非常广泛,我们实际上需要自定义其中的许多 CMS。另一方面,如果没有 CMS,我们将不得不“重新发明轮子”。我的直接意见是使用 CI 之类的框架进行更多控制,而不是退出 Joomla 之类的预构建系统。
  • 就个人而言,我会选择 CI 或 Kohana 来进行演示(无论是用户站点还是管理站点)并创建一个单独的应用程序层来控制所有内容(公开获取数据的方法,存储它等)——通常称为 N 层或 3 层架构 :)
  • 再次感谢。我同意,希望我的上级也同意!
  • 关注表达式引擎的版本 2,它是在 codeigniter 中编码的,可以帮助提供很多 CMS 功能。
【解决方案2】:

我同意内森的观点。

当您使用预先构建的框架时,您缺乏对核心元素的控制因素,这对于开发企业系统尤其不利,您需要完全控制系统的每个部分以供将来开发/集成.

我的建议是从一个小而抽象的系统开始,它会更有益,我的建议是使用一个框架类似 codeignighter,它由一个MVC模式组成,但也能轻松发挥简单的作用.

看看名为“OpenCart”的开源应用程序,它是一个小型 MVC 商店,我之所以说看这个是因为它是一个非常基本的 MVC 模式,可以为您的应用程序抽象出来。

希望这些信息对您有所帮助。

问候。

【讨论】:

  • 感谢您的意见,罗伯特!当我提出建议时,我一定会牢记这一点。
【解决方案3】:

当您使用预先构建的框架时,您缺乏对核心元素的控制因素,这对企业系统开发尤其不利,您需要完全控制系统的每个部分以供将来开发/集成。

好吧,我不知道我是否一定会同意你的看法?

【讨论】:

    猜你喜欢
    • 2011-04-11
    • 2012-03-04
    • 1970-01-01
    • 1970-01-01
    • 2011-12-25
    • 2017-04-06
    • 2011-04-17
    • 2015-06-02
    • 1970-01-01
    相关资源
    最近更新 更多