当前位置: 首页 > 面试题库 >

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

段干瑞
2023-03-14
问题内容

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

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

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

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


问题答案:

序列化是比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',
);


 类似资料:
  • 问题内容: 我在AI项目上使用Redis。 这个想法是让多个环境模拟器在许多cpu内核上运行策略。模拟器将体验(状态/操作/奖励元组列表)写入Redis服务器(重播缓冲区)。然后,培训过程将经验作为数据集读取以生成新策略。将新策略部署到模拟器,删除先前运行的数据,然后继续该过程。 大部分经验都记录在“状态”中。通常将其表示为尺寸为80 x 80的大型numpy数组。模拟器会以cpu允许的最快速度生

  • 本文向大家介绍django轻松使用富文本编辑器CKEditor的方法,包括了django轻松使用富文本编辑器CKEditor的方法的使用技巧和注意事项,需要的朋友参考一下 前言 django是一个容易快速上手的web框架,用它来创建内容驱动型的网站(比如独立博客)十分方便。遗憾的是,django并没有提供官方的富文本编辑器,而后者恰好是内容型网站后台管理中不可或缺的控件。ckeditor是一款基于

  • 问题内容: 在运行在node.js / Express上的开源应用程序中存储数据库配置(用户名,密码)的最佳方法是什么?两个具体问题: 例如,我是否应该将其放入文件夹中的单独config.js文件中,并且永远不要将其包含在GitHub上公开可用的主存储库中? 要包括配置,它是否像需要它的文件一样简单,或者有更好的方法呢? PS很抱歉,如果问题看起来有点简单或表达方式不够完善,但我才刚刚开始:) 问

  • 问题内容: 在MySQL数据库中存储IP地址的最佳字段类型和长度是什么? IPv6呢? 问题答案: 将IP存储为,然后使用和功能存储/检索IP地址。 样例代码:

  • 问题内容: 如何在JTextPane中轻松编辑所选文本的样式?似乎没有很多资源。即使您可以引导我获得大量有用的资源,我也将不胜感激。 另外,如何获得所选文本的当前样式?我试过了,但似乎没有用。 问题答案: 在此pastebin中查看以下代码: http://pbin.oogly.co.uk/listings/viewlistingdetail/d6fe483a52c52aa951ca15762ed

  • 本文向大家介绍如何在VSCode上轻松舒适的配置Python的方法步骤,包括了如何在VSCode上轻松舒适的配置Python的方法步骤的使用技巧和注意事项,需要的朋友参考一下 前言 之前被学长推荐使用了VSCode,后惊叹了VSCode的强大,尤其是他的配置,比之前使用sublime方便多了,刚好实验室也来了一批新的学弟学妹,来仔细的逐步的讲解一些,在自己的电脑上轻松的配置VSCode并完成美化等