一尘不染

在PHP中存储可轻松编辑的配置数据的最快方法?

php

什么是在PHP中存储配置数据以使其易于更改(通过PHP)的最快方法?首先,我考虑过使用config.php文件,但是我不能用PHP即时编辑它,至少不是很简单?然后,我想到了具有XML文件的功能,但是为每个HTTP请求解析它们的工作量很大。因此,我想到了INI文件,但后来我发现INI文件仅限于int
/ string值。最后,我得出的结论是JSON编码的文件是最好的:

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

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

我的问题:我错过了什么吗?或者有更好的方法吗?


阅读 259

收藏
2020-05-29

共1个答案

一尘不染

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

我喜欢var_export用于保存配置文件,并include用于加载配置信息。这样可以很容易地以编程方式保存配置数据,也可以使人也易于读取/写入数据:

config.php:

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

test.php:

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

更新后的config.php现在包含以下内容:

return array(
 'var1'=> 'value1',
 'var2'=> 'value3',
);
2020-05-29