classmarkets / javaproperties.php
此包已被废弃且不再维护。未建议替代包。
用于在PHP中加载Java属性文件的类
dev-master
2012-11-07 13:26 UTC
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2020-02-26 12:17:53 UTC
README
在PHP中解析Java属性文件。
此类允许您在PHP中解析Java属性文件或字符串。它应完全符合[Java.util.Properties的解析规则](http://docs.oracle.com/javase/7/docs/api/java/util/Properties.html#load(java.io.Reader)).
接口
<?php class Classmarkets\JavaProperties implements \ArrayAccess { void loadResource($url, $streamContext = null); void loadString($string); array getAll(); }
概述
<?php $properties = new Classmarkets\JavaProperties; $properties->loadString("foo: bar"); // OR: $properties->loadResource("http://mysite/legacy/app.properties"); var_export($properties->getAll()); var_export($properties['foo']);
yields
array (
'foo' => 'bar',
)
loadResource接受任何有支持的协议包装器的URL,包括当然是你自己注册的流包装器。它接受一个可选的第二个参数流上下文。
需求
- PHP必须编译
--with-pcre-regex - 网络流需要
allow_url_fopen = on。这由fopen隐含。有关详细信息,请参阅文档。
使用Composer安装
以下是composer.json中必需的条目
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/classmarkets/JavaProperties.php"
}
],
"require": {
"classmarkets/javaproperties.php": "*"
}
}
添加它们后,只需运行composer.phar update。目前我们没有任何计划在packagist上发布此包,对此我们深感抱歉。
已知限制
- 不支持转义键值分隔符,例如
foo\:bar = baz将不会生成[ 'foo:bar' => 'baz' ],而是[ 'foo\' => 'bar = baz' ]。 - 以多个反斜杠结尾的行处理不正确。它们被视为以一个反斜杠结尾。
欢迎补丁 :)