gpt4 book ai didi

php - 将php中的配置文件解析为变量

转载 作者:行者123 更新时间:2023-12-04 05:49:49 25 4
gpt4 key购买 nike

- 背景 -

所以我正在为本地开发机器编写一个安装程序脚本,它用于安装 wordpress,我想要做的是让它让用户从下拉框中选择一个特定的插件,然后从那里选择哪个版本他们想安装。

- 问题 -

所以我需要能够解析 .cfg 文件并将所有值动态存储到变量中,这样如果我们添加更多插件,它就不会中断。我该怎么做?

最佳答案

几种方式,取决于您希望如何存储配置数据。最快的方法是将数据存储为 .ini 文件并使用 PHP 内置的 parse_ini_file 解析它。 .您也可以以其他格式存储数据,例如 XML 和 YAML,但我不建议使用 XML,因为您可能不会在不同的系统之间传输数据,而且 XML 往往更难阅读所有无关标签(与 yaml 或 ini)。

我个人更喜欢 yaml 并使用 Symfony's Yaml Component解析器将 yaml 文件解析为数组。 Symfony 的 Yaml 组件可以在 Symfony 框架之外使用。您也可以查看 Zend's Yaml parser以及。

在您选择了您希望使用的格式和解析器之后,就像将配置文件存储在您的网络服务器可访问的某个地方、需要它并通过解析器 API 传递它一样简单。解析后,您应该可以通过数组访问这些值。

- 更新 -

<?php

$settings = parse_ini_file('test.ini');

var_dump($settings);

结果:
array(41) {
["plugins"]=>
string(0) ""
["breadcrumb-navxt"]=>
string(5) "4.0.1"
["bp-moderation"]=>
string(5) "0.1.4"
["buddypress-activity-stream-hashtags"]=>
string(5) "0.4.0"
["buddypress-group-documents"]=>
string(5) "0.3.5"
["buddypress-group-email-subscription"]=>
string(5) "2.9.1"
["buddypress-links"]=>
string(3) "0.5"
["buddypress"]=>
string(6) "1.2.10"
["calendar"]=>
string(5) "1.3.1"
["collapsing-pages"]=>
string(5) "0.6.1"

这似乎按预期工作,所以如果我想要 calendar 的版本号插件我只会做:
var_dump($settings['calendar']);

要存储在动态变量中:
$settings = parse_ini_file('test.ini');

foreach ($settings as $key => $setting) {
// Notice the double $$, this tells php to create a variable with the same name as key
$$key = $setting;
}

var_dump($calendar);

关于php - 将php中的配置文件解析为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10214400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com