【问题标题】:CMS or not for my website? [closed]CMS 或不适合我的网站? [关闭]
【发布时间】:2012-08-09 19:08:03
【问题描述】:

我正在建立一个网站,newfutureuniversity.org,我不确定是否应该在 CMS 下重建它。我可以做程序 PHP,但不能做 OOP PHP(如果需要,我可以学习它)。我一直在为这个问题苦苦挣扎,所以我决定在这里问它。

我的页面现在是这样工作的:每个页面在开头和结尾都有一个包含,每个页面都调用其他包含。比如开头那个调用'translation.php'、'login.php'、'menu.php'等

要求

  • 代码管理。我目前正在使用AjaXplorer。它很棒,非常完整,而且它无法完成我的主机 (000webhost) 提供的工具就足够了。另一个好处是它允许具有不同权限的多个用户。我需要保留此功能。

  • 博客。我正在使用 Chyrp 来写博客,因为它很轻量级并且可以实现我的博客位目标。

  • 用户。不使用任何引擎,只需用旧的普通 PHP 构建我自己的引擎。用户可以注册、登录等。

  • 语言。还建了我自己的。它让我可以翻译每一个信息。

  • 维基。或类似的。对于页面中的文件,我需要(尚未完成)一个高度个性化的 wiki 引擎。我还不确定是找到一些轻量级的并个性化它还是自己做一个。另外,我应该在 wiki 引擎中包含 CKeditor

  • 还有一些我还需要考虑的未来功能。

如您所见,我需要一个“基础”和不同类型的引擎同时在不同的目录上运行。

问题

如果没有问题,我不会写这个问题。这些是我发现的主要问题:

  • 集中式用户。最重要的问题。因为我混合了不同的引擎,所以每个引擎都使用(如果我包括 wiki,甚至更糟)不同的用户表。我希望访问者只需注册一次,然后就可以使用相同的用户名浏览 wiki、博客、提交文件或执行其他任何操作。

  • 集中式编程器。与用户相同,但与我计划添加到项目中的程序员一起使用。它也应该使用权限。不需要,但如果可能的话会更好。

  • 样式。不必手动更改引擎,默认情况下每个引擎都具有相同的样式。这可能是不可能的,但也不是很重要(也不需要),只是很耗时。

因此,这些引擎必须构建在相同的“基础”(CMS) 上,而不是单独运行在不同的目录上。根据我在网上阅读的内容,我正在考虑切换到 Drupal 以获得巨大的支持,或者切换到 Joomla 以获得“更多”可定制性。

问题

这 2 个 CMS(或您建议的任何其他内容)是否会满足所有要求并解决问题?还是 CMS 模块(维基一、博客一等)仍然构建为独立的?这意味着每个人都将构建不同的用户表结构。使用 CMS 是否还有其他优势?

理想情况下,CMS 本身会构建用户表,然后模块访问它们而不是创建自己的表。我从未使用过 CMS,因此我需要了解它们,但如果它有效,那不是问题。

【问题讨论】:

  • 我认为这个问题很遗憾在这里可能是 O/T,因为它是高度讨论性的。但是 FWIW、Drupal/Wordpress/Joomla 可能都同样可定制,所以使用你认为最容易学习的东西。对于一个复杂的项目,他们所有将有一个非浅的学习曲线 - 选择一个系统并坚持学习它。至于你是否“应该”使用现成的系统,答案通常是肯定的,但人们倾向于做一些自己定制的事情(然后后悔)......这种现象被称为“不是在这里发明的”@987654326 @.
  • @halfer 感谢您的回答和编辑。我前段时间读到关于出于更新和兼容性原因不编辑 CMS 本身,这是您的意思吗?我将尝试在某些 CMS 论坛中询问有关不同引擎的共享用户群的问题,或者自己尝试一下。但是 Andrei Cristian 也建议使用框架,所以我也打算研究一下。 “不是这里发明的”也给了我很好的谷歌搜索结果。谢谢(:

标签: php module content-management-system structure pydio


【解决方案1】:

如果我是你,我会花时间学习如何使用框架、zend、code igniter、yii 等。CMS 只会在新的布局特性或简单的功能改进方面束缚你的手。

绝对选择 PHP/OOP。在使用 CMS 时遇到的许多问题,您会发现很多简单的解决方案,同时您会提高您的编程技能,这是最重要的,对吧?

【讨论】:

  • 当我使用 CMS 时,感觉就像有一把生锈的铁锹作为工具,现在有了一个框架,我正在使用一个巨大的 ARMADILLO!
  • 我的学位与编程无关,所以我学习的两个主要原因是为了好玩(我确实喜欢编程)和完成工作,就像这个网页一样。但我同意我需要学习它作为继续学习更多东西的基础。我现在的选择是先学习 OOP 还是 CMS。关于框架,我会研究它们,因为我基本上一无所知。感谢您的回答。对共享用户群有任何想法吗?
【解决方案2】:

CMS 不是框架。 CMS 允许不了解 php、html、css 或您可能使用的任何其他语言的用户/管理员更改您网站的内容。在某种程度上,它不应该限制你的编码。换句话说,CMS 可以是框架的一部分,也可以是您自制的代码。我看到以“当我使用 CMS 时..”开头的响应。当您以某种方式使您的网站具有交互性时,它就是一个 CMS。您正在使用将一些文本放入数据库的表单来管理站点的内容。就像我现在输入的 textarea 一样,我是使用 stackExchange 的 CMS 的用户,但我的权限比管理员少。但我再次使用 CMS。但是 stackexchange 正在某种框架中构建他的站点,因此您可以使用框架并实现 CMS 功能。

另外,试着理解 OOP,它很难进入,但是当你掌握了它的窍门后,它会很好用。它大大简化了您的代码。我是通过 Flash (ActionScript 3.0) 学会的。我发现那里更容易理解 OOP 的基础知识,因为你可以直接看到你正在做的事情。它比 PHP-OOP 更容易,因为 PHP 和 OOP 实际上并不适合。这是一个类似于 OOP 的外观(每次都变得越来越好)。所以先学OOP吧。

因此,作为结论,您可能会认为我会说在您选择的框架中构建您自己的 CMS 功能。但是从头开始进入框架和 OOP 有点困难。所以也许你应该建立一些功能非常简单的试错网站来学习 OOP 和框架。几年前,我正在学习 CakePHP 和学习 OOP。这有点难。所以一步一步地做,想想你想要完成什么,你需要什么。我认为这个话题是一个很好的开始。

为了记录,每个聪明的程序员,我认为你是,都在使用 OOP 方法,因为你不必重写代码片段,也不必复制粘贴。当您的代码良好时,您将不会在任何地方重复代码。当您在网站的 200 个页面上遇到错误并且知道您只需要更改一个文件而不是 200 个时,这很好。:)

【讨论】:

  • This presentation 帮助我了解了 CMS 和框架之间的区别以及何时使用它们。现在我坚定地认为 CMS 不是我需要的,而是一个框架。关于OOP,我也有同样的看法,用PHP学习它会比用其他语言更难。但我只知道 PHP 和 C,所以我会选择 PHP。首先我将学习 OOP,然后是如何使用框架,然后我将重建网站。漫长的过程,但我认为是正确的。谢谢!
  • 我正在将帖子回滚到最初的状态。其他不了解“CMS”含义的人更容易理解这是怎么回事。第一行回来了,但我不在乎那么多。保持原样,这是最纯粹的形式 :) 我不知道这会是答案,tnx 和您的欢迎!
  • 我会修改这一点,说 CMS 和框架之间的重叠比帖子建议的要多。 CMS 系统(比如 Wordpress)通常通过定制开发进行定制,并且框架通常具有在其之上构建的类似 CMS 的功能,或者通过插件系统添加。尽管 CMS 系统在内部通常很混乱,但它们变得更加面向对象,而 Drupal8 做得更好:它将利用许多 Symfony2 框架组件。
  • 我觉得弗兰克的编辑很不错;我略微倾向于对回滚投反对票,而是因为我认为“CMS 不是框架”不准确而投反对票。重新回滚,尽量让答案像维基一样,而不是喋喋不休,imo。
  • 好吧,我又改成了弗兰克的修订版。我认为它介于两者之间。但无论如何,我很高兴能帮上忙 :)
猜你喜欢
  • 1970-01-01
  • 2011-11-25
  • 2021-09-22
  • 1970-01-01
  • 1970-01-01
  • 2010-12-31
  • 2011-10-15
  • 2010-11-22
  • 1970-01-01
相关资源
最近更新 更多