在PHP中存储易于编辑的配置数据的最快方法?

2022-08-30 17:06:19

在PHP中存储配置数据以便于更改(通过PHP)的最快方法是什么?首先,我想过有config.php文件,但我不能用PHP动态编辑它,至少不是很简单?然后我想到了拥有XML文件,但是为每个HTTP请求解析它们是压倒性的。所以,我想到了INI文件,但后来我认为INI文件仅限于int/string值。最后,我得出的结论是,JSON编码文件是最好的:

$config['database']['host'] = ...;
$config['another']['something'] = ...;
...
json_encode($config);

由于JSON可以存储数组,因此我可以使用它创建相当复杂的配置,并且它比INI文件解析得更快。

我的问题是:我错过了什么,还是有更好的方法来做到这一点?


答案 1

序列化是存储 PHP 变量的比 JSON 更好的选择。

我喜欢用于保存配置文件,并用于加载配置信息。这使得按顺序保存配置数据变得容易,并使数据也易于为一个人读取/写入:var_exportinclude

配置.php:

return array(
 'var1'=> 'value1',
 'var2'=> 'value2',
);

测试.php:

$config = include 'config.php';
$config['var2']= 'value3';
file_put_contents('config.php', '<?php return ' . var_export($config, true) . ';');

更新的配置.php现在包含以下内容:

return array(
 'var1'=> 'value1',
 'var2'=> 'value3',
);

答案 2

您应该使用序列化而不是json_encode:

http://docs.php.net/serialize


推荐