gpt4 book ai didi

php - 存储 PHP 应用程序设置的最佳方式?

转载 作者:行者123 更新时间:2023-11-29 21:56:40 25 4
gpt4 key购买 nike

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

要存储的内容...

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

我应该把它们放在一张 table 上吗?如果是这样,从 boostrap 查询它们的最佳方法是什么?除了对每个所需的设置进行一次查询之外。

<小时/>

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

<小时/>

更新2:我问这个问题的原因也是我计划通过管理员界面更改其中的许多设置。因此,如果您要更改网站的标题,它会立即更新,我认为最好通过 SQL 来完成,因此需要在数据库内进行设置。

最佳答案

对于单个、小型、简单的站点,我只需将配置放入 PHP 文件中。把事情简单化。 PHP 解析任何东西的速度可能不会比解析 PHP 快。如果您使用 APC,编译后的字节码甚至会被缓存——尽管随后会针对每个请求重新执行字节码。对于一个小的配置文件,这个字节码执行应该花费很少的时间;对于非常大的文件,可能需要更长的时间。

对于具有大量配置的高流量站点,将配置数据缓存在 APC 中(例如作为单个数组)是一个好主意 - 至少,您可以节省实际执行的开销config.php 文件中的语句。值得注意的是,Facebook 就是这么做的。当您每秒处理许多请求时,在每个请求上访问磁盘来读取配置文件(使用 parse_ini_file、XML 解析器等)是不可能的。

对于我当前的项目,我们托管许多站点,每个站点都有自己的配置。每个站点都有一个数据库和一个配置文件;然而,确保始终使用正确的配置文件和正确的数据库可能会让人头疼。此外,更改需要在两个地方进行更改——数据库和配置。忘记其中之一总是会引起问题,而且这种情况发生得太频繁了。

我们将配置移至数据库中,这样您就不可能将数据库与其正确的配置分开,并且任何代码更改只需要更新数据库即可。配置表中的数据也积极缓存在 APC 中,因此我们很少查询它。

所以,回顾一下:

  1. 小站点:只需使用 config.php 文件
  2. 非常大的网站:在 APC 中缓存
  3. 多个站点:将配置存储在数据库中以减少管理开销;在 APC 中缓存以减少数据库命中

关于php - 存储 PHP 应用程序设置的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33090522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com