1

我正在建立一个网站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,因此我需要了解它们,但如果它有效,那不是问题。

4

2 回答 2

3

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

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

于 2012-08-13T14:33:58.310 回答
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 个时,这很好。:)

于 2012-08-13T14:58:51.583 回答