一个简单的用于读取和写入 ini 文件的 PHP 类

1.4 2019-01-25 12:34 UTC

This package is auto-updated.

Last update: 2024-09-09 17:27:56 UTC


README

一个简单的用于读取和写入 ini 文件的 PHP 类。

License Latest Stable Version Latest Unstable Version Total Downloads codecov

安装

将 composer 包 "programie/pini" 添加到你的 composer.json 中所需包的部分

composer require programie/pini

示例

解析 ini 并读取值

$ini = new Pini("/path/to/your/file.ini");

$ini->getValue("section name", "key name");// Returns the value of the key "key name" in section "section name"

合并另一个 ini 文件中的部分和值

有时您想将多个 ini 文件中的部分和它们的键合并到一个文件中(例如,如果要将默认值作为 ini 文件提供)。

可以使用 merge() 方法实现。它将用给定 ini 文件中的键替换所有键。

$ini1 = new Pini("/path/to/your/first.ini");

$ini2 = new Pini("/path/to/your/second.ini");

$ini1->merge($ini2);

现在 $ini1 将包含 $ini2 中所有的部分和键。已存在的键将被第二个 ini 文件中的键替换。

您还可以指定要合并的部分。

$ini1->merge($ini2, "section name");

这只会将 $ini2 中指定部分的键合并到 $ini1 中。

写入值并保存 ini

使用 Pini,您还可以写入 ini 文件。

$ini = new Pini();

$ini->setValue("section name", "key name", "some value");

$ini->save("/path/to/your/file.ini");

这将在 "section name" 部分添加或替换 "key name" 的键值为 "some value"。

save() 方法将 Pini 实例的全部内容保存到文件中。

注意:save() 方法中的 $filename 参数是可选的。默认情况下使用实例创建时传递的文件名。

$ini = new Pini("/path/to/your/file.ini");

// ... Some other ini methods.

$ini->save();

这将把内容保存到实例创建时传递的文件中 ("/path/to/your/file.ini")。

查看示例文件夹以获取更多示例。

结构

ini 文件可以有如下结构

[section name]
property key = property value
another property = another value
array property[] = some value
array property[] = another value

[another section]
another property = even another value

ini 文件包含多个部分。每个部分可以包含多个属性。

以 "[]" 结尾的属性键定义了一个数组。定义多个同名的数组属性(例如 "property[]")并赋予任何值,可以向数组中添加值。

在部分中已定义的具有相同键的非数组属性将被之前定义的属性替换。