在PHP中读取和写入INI文件。

此包的官方仓库似乎已消失,因此包已被冻结。

v1.1 2016-08-30 14:29 UTC

This package is not auto-updated.

Last update: 2021-06-19 16:37:35 UTC


README

在PHP中读取和写入INI文件/字符串。

Travis branch Packagist Licence HHVM (branch) PHP 5.3.3 or above

灵感来自Piwik/ini

要求

  • 在php.ini中启用了parse_ini_string

安装

composer require noczcore/ini

特性

  • 读取INI文件和INI字符串
  • 写入INI文件和INI字符串
  • 返回集合而不是简单数组
  • 抛出异常而不是PHP错误
  • 更好的类型支持 (示例)
    • 将布尔值(true/false,开/关,是/否)解析为真实的PHP布尔值
    • 将null解析为真实的PHP null
    • 将int/float解析为真实的PHP int/float
  • 高级解析器 (示例)
    • 键为"[]"的键值是一个包含多个值的数组
    • 键为"."

用法

读取

use \NoczCore\Ini\IniReader;
$reader = new IniReader();

$string = <<<INI
[Section 1]
foo = "bar"
number_1 = 1
number_0 = 0
int = 10
float = 10.3
empty = ""
null_ = null
boolean_1 = true
boolean_0 = false
array[] = "string"
array[] = 10.3
array[] = 1
array[] = 0
names.users[] = "NoczCore"
names.administators[] = "John Doe"
names.administators[] = "Jane Doe"
[Section 2]
foo = "bar"
INI;

// Read a string
$array = $reader->readString($string);
// Read a file
$array = $reader->readFile('config.ini');

print_r($array->toArray());

####返回

Array
(
    [Section 1] => Array
        (
            [foo] => bar
            [number_1] => 1
            [number_0] => 0
            [int] => 10
            [float] => 10.3
            [empty] => ""
            [null_] => null
            [boolean_1] => true
            [boolean_0] => false
            [array] => Array
                (
                    [0] => string
                    [1] => 10.3
                    [2] => 1
                    [3] => 0
                )

            [names] => Array
                (
                    [users] => Array
                        (
                            [0] => NoczCore
                        )

                    [administators] => Array
                        (
                            [0] => John Doe
                            [1] => Jane Doe
                        )

                )

        )

    [Section 2] => Array
        (
            [foo] => bar
        )

)

写入

use \NoczCore\Ini\IniWriter;
$writer = new IniWriter();

// Write to a string
$string = $writer->writeToString($array);
// Write to a file
$writer->writeToFile('config.ini', $array);

许可

Ini组件以MIT许可证发布。

贡献

运行单元测试

vendor/bin/phpunit