所以,目前我正在根据文件名组织我的博客:要创建帖子,我输入文件名。与将帖子存储在数据库中相反,我将它们存储在PHP文件中。因此,每次创建帖子时,都会使用文件名和唯一ID创建表中的新行。要引用帖子(例如注释),我会获取当前文件的名称,然后在条目表中搜索匹配的文件名。评论的帖子ID与该帖子的ID相匹配。
显然这不是组织博客的标准方式,但我这样做是出于以下几个原因:
现在我知道标准方法是将每个帖子存储在数据库中。我知道如何做到这一点,但干净的URL是主要问题。现在问我的问题:
非常感谢你们!
P.S。要明确的是,我不会计划使用博客引擎。
答案 0 :(得分:2)
正如克莱图斯所说,这与Movable Type相似。将数据存储在文件中没有任何内在错误。
我想到的一件事是:你在文件中存储了多少?只是发布内容,或者每个PHP文件是否包含整个页面设计的副本而不是使用基本模板?以后改变设计有多难?这可能是也可能不是问题。
您在干净的网址方面究竟在寻找什么?重写规则非常强大和灵活。通过将mod_rewrite与回复所有请求的主PHP文件结合使用,您几乎可以拥有所需的任何URL格式,包括用户友好的URL,而不会显示不明确的ID号甚至文件扩展名。
编辑:
以下是如何使用mod_rewrite和处理请求的主要PHP文件:
这实质上就是像Drupal和WordPress这样的系统。
另外,关于Movable Type的工作方式,我已经使用了一段时间,所以我可能错了,但我相信它会存储数据库中的所有帖子。当您点击发布按钮时,它会通过从数据库中提取后期数据并将其插入模板来生成纯HTML文件。当您的网站负载很重时,这是非常有效的 - 当访问者打开您的网站时没有脚本运行,并且当服务器只需要提供静态文件时,它可以跟上繁重的访问。
显然,在确定解决方案应如何运作时,您有很多选择。你提出的那个听起来不错,但你可能想仔细考虑如何在单个文件中维护大量的帖子,特别是如果你想稍后改变整个网站的设计。您可能想要考虑像Smarty这样的模板引擎,并且只是在您的单个文件中存储帖子数据(没有布局标签)。或者只是在帖子文件中使用一些基本的include()语句来吸取页眉,页脚,导航菜单等。
答案 1 :(得分:1)
你所描述的有点像Movable Type的工作方式。您需要涵盖的问题包括:
不使用数据库并非没有道理。如果我这样做,我将使用像Smarty这样的模板引擎,它可以更好地缓存结果,而不是PHP开箱即用。