CMS或不用于我的网站?

时间:2012-08-13 14:21:28

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

我正在建立一个网站newfutureuniversity.org,我不确定是否应该在CMS下重建它。我可以做程序化的PHP而不是OOP PHP(如果需要,我可以学习它)。我一直在努力解决这个问题,所以我决定在这里问一下。

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

要求

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

  • 博客。我正在使用Chyrp进行博客,因为它是轻量级的并且完成了我的博客目标。

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

  • 语言。还建立了自己的。它允许我翻译每一点信息。

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

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

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

问题

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

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

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

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

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

问题

这两个CMS(或您建议的任何其他人)是否会保留所有要求并解决问题?或者CMS模块(wiki one,blog one等)仍然是独立构建的?意味着每个人都将构建一个不同的用户表结构。使用CMS还有其他优势吗?

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

2 个答案:

答案 0 :(得分:3)

如果我是你,我会花时间学习如何使用框架,zend,代码点火器,yii等.CMS只是在新的布局功能或简单的功能改进方面紧紧联系。

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

答案 1 :(得分:2)

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

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

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

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