我应该如何管理包含大量页面/内容的PHP数据库驱动的网站?

时间:2011-09-01 21:01:41

标签: php mysql url

让我们知道我只有5或6页网站的经验。我想制作一个PHP游戏新闻网站,如http://www.escapistmagazine.com/

我能想到的第一个问题是我必须手动为每个游戏文章制作一个页面;该路径显然不起作用所以我决定将所有文章存储在数据库中。

将内容存储在数据库中的问题是弄清楚如何检索它们。我将一个GET变量附加到url,以便我可以从index.php文件中检索任何文章;但是,我无法从网址中隐藏GET变量,因此我抛弃了该方法。我没有自由现金购买CMS,而且像Drupal这样的免费试用非常沮丧。

我是否必须为每篇文章生成一个单独的php文件?在我的情况下,专业人士/退伍军人会怎么做?

4 个答案:

答案 0 :(得分:3)

首先,我想说的是,如果您无法找到耐心设置Drupal,Wordpress或类似的免费CMS,您将很难找到从头开始创建的耐心。

话虽如此,为了解决您正在寻找的具体请求,我相信您希望使用mod_rewrite通过单个文件汇集您的请求,这反过来会将请求移交给相应的文件。例如,Drupal使用以下规则:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

将您的网址转换为单个变量'q'。

答案 1 :(得分:2)

我管理的CMS会像您正在考虑的那样静态发布PHP页面。来自MVC设计,它是可怕的,我强烈建议你不要走那条路。

我会检查其中一个框架,比如Code Igniter,Cake,或者如果你觉得自己想折磨自己,Zend。除了开玩笑之外,您将能够创建使用URL请求的路线来查找您正在寻找的内容。我不会在这里讨论MVC和路由的整个概念,因为它在整个Web中都有详细记录,但实质上它使模板管理更容易。事实上,几乎所有内容都更容易,而且您的代码库更加清晰。

现在,我已经为我的CMS提供了近400mb的代码库。这是因为有大量的索引静态页面。如果我将它转换为MVC框架,这将大大减少到约50mb(如果那样)。请注意,这不是用户生成的内容,如PDF,MP3等。

如果这看起来很可怕,我强烈建议使用Joomla!,Drupal,Wordpress或任何其他CMS系统。相信我,你会节省大量的时间。

答案 2 :(得分:1)

我能给你的最佳建议:使用Wordpress ,不要自己重建。这对这项工作来说非常完美。

结论:15%的最佳网站使用Wordpress运行。

答案 3 :(得分:1)

当您开始考虑安全性,可维护性,时间和其他因素时 - 对于您所描述的内容,我只会使用WordPress。免费,易于设置和proven。它不仅仅是为您的观众制作前端网站,还需要所有管理工具来管理它们。

如果您自己构建,则需要使用数据库来存储数据。你不会为每篇文章创建一个php文件,你很可能只有一个或几个php文件,它们只关注使用rewrite规则从数据库加载文章页面的好网址。祝你选择的道路好运。