如何组织PHP博客
因此,目前我正在根据文件名组织我的博客:要创建一篇文章,我需要输入文件名。与将帖子存储在数据库中不同,我将它们存储在PHP文件中。因此,每次我创建帖子时,都会在表中创建一个新行,其中包含文件名和唯一ID。要引用帖子(例如,评论),我会获取当前文件的名称,然后在entries表中搜索匹配的文件名。评论的帖子ID与该帖子的ID匹配 显然,这不是组织博客的标准方式,但我这样做有几个原因:如何组织PHP博客,php,database-design,blogs,Php,Database Design,Blogs,因此,目前我正在根据文件名组织我的博客:要创建一篇文章,我需要输入文件名。与将帖子存储在数据库中不同,我将它们存储在PHP文件中。因此,每次我创建帖子时,都会在表中创建一个新行,其中包含文件名和唯一ID。要引用帖子(例如,评论),我会获取当前文件的名称,然后在entries表中搜索匹配的文件名。评论的帖子ID与该帖子的ID匹配 显然,这不是组织博客的标准方式,但我这样做有几个原因: 干净的URL(甚至比我读到的mod_rewrite提供的更干净) 我的机器上总是有一份这篇文章的硬拷贝 更容易记
- 干净的URL(甚至比我读到的mod_rewrite提供的更干净)
- 我的机器上总是有一份这篇文章的硬拷贝
- 更容易记住特定帖子的URL(有点像干净URL的一部分)
- 我现在做这件事的方式有什么问题吗,或者将来可能会出现什么问题吗
- 我现在可以用mod_rewrite获得相同级别的干净URL吗?如果是这样的话,请链接
- 我将在一个网络主机上托管这个。是否只有某些web主机提供对mod_rewrite所需文件的访问,还是所有web主机上都是标准的
顺便说一句,我不打算使用博客引擎。你所描述的是如何工作的。您需要讨论的问题包括:
- 联合:RSS/Atom李>
- 网站地图:谷歌李>
- 评论;及
- 标记和过滤内容
不使用数据库并非不合理。如果我这样做,我会使用像Smarty这样的模板引擎,它在缓存结果方面比PHP开箱即用的做得更好。您所描述的有点像是如何工作的。您需要讨论的问题包括:
- 联合:RSS/Atom李>
- 网站地图:谷歌李>
- 评论;及
- 标记和过滤内容
不使用数据库并非不合理。如果我要这样做,我会使用像Smarty这样的模板引擎,它在缓存结果方面比PHP开箱即用的要好。正如cletus所说,这类似于Movable Type。将数据存储在文件中本身并没有什么问题 我想到的一件事是:您在文件中存储了多少?只是文章内容,还是每个PHP文件都包含页面整个设计的副本,而不是使用基本模板?以后更改设计有多困难?这可能是问题,也可能不是问题 在干净的URL方面,您到底在寻找什么?重写规则非常强大和灵活。通过将mod_rewrite与响应所有请求的主PHP文件结合使用,您几乎可以拥有您想要的任何URL格式,包括没有模糊ID号甚至文件扩展名的用户友好URL 编辑: 下面是如何使用mod_rewrite和处理请求的主PHP文件:
因此,很明显,在确定解决方案的工作方式时,您有很多选择。你提出的建议听起来不错,不过你可能需要仔细考虑如何在单个文件中维护大量帖子,特别是如果你以后想更改整个网站的设计。例如,您可能需要考虑像SMARTY这样的模板引擎,只是将POST数据(没有布局标签)存储在您的单个文件中。或者只是在post文件中使用一些基本的include()语句来插入页眉、页脚、导航菜单等。正如克莱特斯所说,这类似于Movable Type。将数据存储在文件中本身并没有什么问题 我想到的一件事是:您在文件中存储了多少?只是文章内容,还是每个PHP文件都包含页面整个设计的副本,而不是使用基本模板?以后更改设计有多困难?这可能是问题,也可能不是问题 在干净的URL方面,您到底在寻找什么?重写规则非常强大和灵活。通过将mod_rewrite与响应所有请求的主PHP文件结合使用,您几乎可以拥有您想要的任何URL格式,包括没有模糊ID号甚至文件扩展名的用户友好URL 编辑: 下面是如何使用mod_rewrite和处理请求的主PHP文件: