我应该实施自己的CMS吗?

时间:2010-08-10 13:07:54

标签: php content-management-system

我需要创建一个基于CMS的自定义系统。在其中,我还需要做以下事情:

  • 每个人都有自己的用户名和密码,登录后会显示自己的个人页面。
  • 此处,每位用户将显示八张图片,由管理员
  • 选择
  • 数据敏感,因此安全性是个大问题。
  • 它也将有一个新闻源,它将从管理门户网站
  • 检索新闻

现在,我从未编写过CMS系统。我也有时间限制。语言的选择是PHP,实现它的最佳方式是什么?

11 个答案:

答案 0 :(得分:8)

“几乎在每一个案例中,我都看到过一家公司试图推出自己的产品,”简单“的解决方案正在被特殊的请求和边缘情况慢慢吞噬,直到它与那些过度杀伤解决方案一样复杂 - 但建立在从来没有打算过复杂的基础。“

QFT

我们过去常常维护自己的CMS,这个CMS开始时非常简单,然后请求来自客户端,几乎不可能让代码保持统一,不同的人在项目中实现它。缺乏代码版本控制是罪魁祸首,但客户也希望每个小东西都改变,直到每个站点的包都是唯一的。跟上它变得不可能和代价高昂。

我们切换到Drupal并且生活变得更容易。

答案 1 :(得分:5)

问:我应该重新发明自己的车轮吗?

答:仅用于学习目的。

答案 2 :(得分:4)

CMS系统以及错误跟踪器应该被认为是Not Invented Here综合症可能成为巨大陷阱的典型例子。

它们都有着共同的特性,看起来就像从一开始就实现的非常简单的系统一样,第三方选项似乎过于复杂,而且对于你显然需要的“简单”CMS来说是过度的。

几乎在每一个案例中我都看到过一家公司试图推出自己的产品,这种“简单”的解决方案正在被特殊要求和边缘案件慢慢吞噬,直到它与那些过度杀伤解决方案一样复杂 - 但建立在一个基础之上从来没有打算用于复杂性。

找到一个好的第三方解决方案。你将来3年就会感谢你。

答案 3 :(得分:4)

有趣的是,我们在这种情况下使用“不要重新发明轮子”的表达方式。公元前2000年至公元前1500年的世界历史由战车驾驶员主导,他们完全重新发明轮子。在此之前,马车车轮是坚固的木板,这使得马车的速度不足以超过你试图射箭的愤怒的武装人员。 (更轻) spoked 轮的发明使他们能够全天开动射入人群。

我遇到的大多数CMS系统都是相当于大而坚固的轮子的编程(我说 square 轮子被白蚁吃掉了一半,但这在所有情况下都不公平)。也许这家伙有发明更好的车轮所需要的东西。

答案 4 :(得分:3)

定义“最佳”。

如果“最好”意味着“运行起来最快”,我会说你唯一的选择是购买一个或找到一个好的开源CMS。阅读你的“小经验”后,这是真实的。

我建议您使用Google进行开源CMS并将原型排在前三位。

编写自己的应该是你的最后选择。为什么要延迟释放并永远承担维护负担?

答案 5 :(得分:3)

问:我应该重新发明自己的车轮吗?

答:

答案 6 :(得分:3)

对于我的客户,我几乎总是创建自己的CMS。几个原因:

  • 它们更快,因为我只实现了我需要的类。
  • 他们更容易编码,因为我的课程与客户的公司一样。例如,Musical类使用Castmembers作为属性'cast'的值。
  • 您了解有关CMS的所有信息,因此当出现错误时,您就知道如何修复它。

是的,需要更多时间,但它会为您提供更多机会和灵活性。

答案 7 :(得分:2)

查看CMS Matrix以了解各种CMS的比较。

答案 8 :(得分:2)

这是有史以来最无聊的答案:“这取决于”

它取决于什么?好吧,最重要的是:

  1. 您需要和其他人之间的差异有多大?如果一个开源解决方案拥有98%的功能,你为什么要从头开始重做所有这些功能,而不仅仅是熟悉它并添加你需要的一些东西。
  2. 您希望花多少时间进行维护?如果您选择自己动手,那么您和您只负责所有维护。如果您使用开源CMS并且如果您也分发修改,则其他人可能会修复现有错误,即使它们是您的错误。否则,您有责任测试,修复,扩展和优化CMS,并且您可以自己动手。如果您的计划是实际创建自己的CMS,那么您希望多次使用,那么确定。如果您的任务是满足一个客户的需求,那就忘记创建自己的CMS了。
  3. 格尔茨
    back2dos

答案 9 :(得分:1)

时间限制意味着您可能没有时间做正确的事情,最好从其他人那里获取CMS。只需配置它以满足您的需求。

编写自己的应用程序时,您需要为非常挑剔的客户提供非常具体的自定义解决方案。否则,抓住另一个CMS将为您节省数千个编程工时。

答案 10 :(得分:0)

你绝对要写自己的吗?有几种很棒的(免费的)PHP CMS开源解决方案可供使用。为什么这些不适合您的需求?

您是否考虑过将文字换成博客?

您的问题具体是什么使得开源可用解决方案不适合您?