【问题标题】:Storing website parameters in a database or flat files将网站参数存储在数据库或平面文件中
【发布时间】:2012-08-20 23:54:00
【问题描述】:

在大多数情况下,我运营的一个组织的 3 个站点都有一个共享的 MySQL 数据库。这使他们能够很好地相互交流。

我有一堆网站需要了解的简单参数,但我不确定最佳途径是:

  1. 创建一个包含 2 个字段(键、值)的表,用于存储参数
  2. 将值存储在一个或多个平面文件中

它们各有优缺点。

该数据库允许对所有三个站点使用一个条目(但是,这种情况并不经常发生),所有信息都是集中的,并且界面已经很好地定义了。

平面文件更容易作为 FTP 使用,除了网站管理外,还可以使用文本编辑器,平面文件可以编写为 PHP,这意味着网站不需要进行任何解析(只需要包含文件并使用变量),但它们不能在站点之间共享。

我可以继续说下去。你觉得哪条路比较好?

【问题讨论】:

  • 如果站点在同一台服务器上(我假设它们是因为您提到它们共享同一个数据库),那么为什么不能在站点之间共享文件?
  • 出于安全考虑,网站主机不允许不同域访问彼此的文件。

标签: php database flat-file


【解决方案1】:

如果有机会,我的意见是使用数据库。从长远来看,这更容易。您已经使用平面文件构建了网站,但现在客户想要一个带有其他参数的附加页面,因此您必须添加一个新文件。现在你已经完成了,他又问你了..好吧,你明白了。

它根本没有组织。因此,如果您有机会使用数据库,请使用它。发明它是有原因的。

但只是为了让我的想法清晰并清楚地知道您在说什么,请告诉我更多有关您要存储的设置的信息。我可以想象您正在谈论一些全局变量,或者甚至可能会使用 define(),但您也可能想要存储字符串。 所以请为我们定义“一堆简单的参数”。

【讨论】:

  • 诸如在管理中添加新图像时需要更新的旋转中的图像数量。从用户表单提交中向管理员发送 SMTP 邮件的密码是什么。发生的最新事件是什么。等
  • 所以更像是一个配置文件?创建一个 Configuration 类来收集这些参数并将它们作为数组存储在 Session 变量中。或者,如果您正在使用框架,请将它们存储在 Config 中(根据您使用的框架,它可以有很多不同的名称)。如果只是一些简单的配置设置,将它们放在一个文件中就可以了。但是看看未来,你期望它变成什么?是否需要经常更换?如果是这样,请将其存储在数据库中,以便您可以通过 CMS 对其进行更新。
猜你喜欢
  • 2018-02-21
  • 2012-06-09
  • 2012-09-22
  • 2013-02-07
  • 1970-01-01
  • 2010-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多