当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《存储PHP应用程序设置的最佳方式?》经验,为你挑选了2个好方法。

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

要存储的东西......

网站的全球名称.

主题(只是变量或主题的路径)

等等

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


更新:是的.ini或解析包含文件会很好,我知道如何这样做.但是我想知道将其他东西存储在MySQL中的最佳方法是什么.


更新2:我问这个的原因是我计划通过管理员界面更改许多这些设置.因此,如果您要更改站点的标题,它将立即更新,我认为最好通过SQL进行更新,因此需要在数据库中进行设置.



1> Frank Farmer..:

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

对于高流量的网站与大型CONFIGS,在APC的缓存配置数据(例如,作为一个单一的阵列)是一个好主意-最起码,你实际上节省的开销,执行你的config.php文件的语句.值得注意的是,Facebook这样做.当您每秒提供多个请求时,在每个请求上按磁盘读取配置文件(使用parse_ini_file,XML解析器等)都是不可能的.

对于我当前的项目,我们托管了许多站点,每个站点都有自己的配置.每个站点都有一个数据库和一个配置文件; 但是,确保您始终使用正确的配置文件与正确的数据库可能会成为一个令人头疼的问题.此外,更改需要在两个位置更改内容 - 数据库和配置.忘记一个或另一个总会引起问题,而且经常发生这种情况.

我们将配置移动到数据库中,因此您无法将数据库与其正确的配置分开,并且任何代码更改只需要更新数据库.来自配置表的数据也在APC中积极缓存,因此我们很少查询它.

所以,回顾一下:

    小网站:只需使用config.php文件

    非常大的站点:缓存在APC中

    多个站点:在数据库中存储配置以减少管理开销; 在APC中缓存以减少数据库命中



2> Omar..:

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

由于您将在PHP应用程序中重复使用它们,因此这将是最理想的.如果要将数据库存储在数据库中,这也可以避免进行数据库调用.

AppSettings.php


更新:

我假设您希望这些设置可以通过网页进行编辑,并且不需要多个数据库查询,因为这些设置会发生变化,但不是经常发生变化?

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

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有