一尘不染

存储PHP应用程序设置的最佳方法?

mysql

为自定义PHP应用程序存储一组全局设置的最佳方法是什么?我正在做一个个人项目(实际上是第一个主要项目),并且需要一种存储键值对的方法来记录应用程序的整体设置。

东西存储为…

  • 网站的全球名称。
  • 主题(只是一个变量或主题的路径)
  • 等等

我应该把它们放在一张桌子里吗?如果是这样,从boostrap查询它们的最佳方法是什么?除了对每个所需的设置执行单个查询。


更新:是的.ini或解析一个包含文件会很好,而且我知道该怎么做。但是我想知道将它们与其他所有内容一起存储在MySQL中的最佳方法是什么。


UPDATE2:我问这个也是因为我计划通过管理员界面更改许多这些设置。因此,如果您要更改站点的标题,则会立即进行更新,我认为最好通过SQL进行更新,因此需要在数据库内部进行设置。


阅读 257

收藏
2020-05-17

共1个答案

一尘不染

您是否考虑过将它们放入.php文件中并将其包含在使用它们所需的页面中?为变量指定一个唯一的名称,以避免命名冲突。

由于您将在PHP应用程序中重复使用它们,因此这是最理想的选择。这也避免了将数据库存储在数据库中时进行数据库调用的需要。

AppSettings.php

<?php
$_SITENAME_ = 'MyWebsite';
$_THEME_ = 'Theme/Path';
?>

更新:

我假设您希望这些设置可通过网页进行编辑,并且不希望有多个数据库查询,因为这些设置会更改,但不会经常更改?

我个人采取的一种方法是序列化AppSettings表并将其存储在XML文件中。当然,每次更新表时,该表都会重新序列化并存储在XML文件中。然后,我创建了一个单独的类来解析XML文件并返回所需的特定值。

2020-05-17