我正在寻找能够从管理面板设置一些基本的站点范围设置(可能是布尔值或只是小数字)的最有效方法,并在每个页面上检索它们(通过公共文件)并存储在PHP变量中。
具体来说,我的网站上有一个积分系统,我希望其他网站管理员能够设置奖励和费用,并将它们存储在每个页面的变量中。< / p>
在研究流行的论坛软件如何存储设置时,他们使用了一个MySQL表,其行 id ,名称和值。 名称是选项的名称,值是所选值。我没有研究如何在代码本身中检索它,如果在每次运行common / header文件时检查它。在我看来,对于很少改变的设置,在每个页面上都有一个MySQL查询,效率不高。
我考虑的另一件事是拥有一个只存储JSON选项的文本文件。
让我知道其中一个想法是否有效,或者是否有更理想的东西。我对任何事都持开放态度。
答案 0 :(得分:1)
存储应用程序范围的配置设置实际上是对数据库的滥用。虽然性能损失本身通常可以忽略不计。
最有效的方法当然是数据文件。您可以使用json_encode
代替serialize
,也可以使用以下内容生成有效的.php脚本:
file_put_contents("config.php",
'<?php $config = ' . var_export($config_array, 1) . '; ?>');
如果您只需要一些设置,那么简单管理员ui的工作量也很小。
对于过度杀伤解决方案,请参阅http://milki.include-once.org/genericplugins/genconfig.html
答案 1 :(得分:0)
我见过一个php站点,它在php文件中存储常见的设置变量。 然后在其他php文件中你需要_once();