wubs/json-settings

易于管理json设置文件的包

dev-master 2013-06-18 22:26 UTC

This package is not auto-updated.

Last update: 2024-09-23 15:10:24 UTC


README

本包旨在使json设置文件易于使用和维护。

json文件构建如下

{
	"foo":{
		"bar":"foo",
		"bars":"foos",
	}
}

其中foo是一个组,bar是一个键值对。

可以添加组和添加新的组。

使用示例

获取设置

获取设置非常简单。

//gets the value of bar in the foo group
$value = $s->get('foo.bar'); //foo
//gets the value of bars in the foo group
$values = $s->get('foo.bars'); //foos

填充设置文件

这可以通过在创建新的Settings对象时将$settings作为参数来执行

$settings可以是json字符串或数组

$settings = array('foo'=>array('bar'=>'foo', 'bars'=>'foos'));
$s = new Settings($settings); 
print_r($s->getSettingsAsArray()); 
/**
 * Array
 *(
 *   [foo] => Array
 *       (
 *           [bar] => foo
 *           [bars] => foos
 *       )
 *
 *)
 *
 */

或者通过调用fill方法

$settings = array('foo'=>array('bar'=>'foo', 'bars'=>'foos'));
$s = new Settings(); 
$s->fill($settings);

添加组

要将新设置添加到现有组,操作如下

//we assume the settings file is already filled
$s->appendGroup('foo','cackes');

组foo现在有一个新的键值对,键为'cackes'。默认值为''。如果您想添加默认值,可以使用第三个参数,如下所示

$s->appendGroup('foo','cackes','cheesecake');

添加新组

向设置文件添加新组,并为其提供一些默认设置。

$s->addGroup('files')->appendGroup('files', 'logfile', '/location/to/file.log');

待办事项

  • 将其作为一个单独的包

  • 添加扩展json设置的功能

  • 使设置文件动态化

  • 允许更深的设置深度

  • 在添加新组时允许数组