jalet / tvnu-config
基于环境的多种格式配置助手。支持INI,YAML,数据库(PDO)或数组。
此包的官方仓库似乎已消失,因此该包已被冻结。
1.2.0
2015-12-15 09:41 UTC
Requires
- php: >=5.6.0
Requires (Dev)
- ext-pdo: *
- ext-yaml: *
- phpunit/php-code-coverage: ^3
- phpunit/phpunit: 5.1
This package is not auto-updated.
Last update: 2020-01-24 15:00:54 UTC
README
基于环境的多种格式配置助手。支持INI,YAML,数组或数据库(PDO。
要求
- PHP 5.6+
- PDO(可选)
- YAML(可选)
使用
INI
[production] foo = Bar bar.foo = Hello World bar.biz = World Hello biz = Baz [development : production] foo = Foo Dev [local : development] bar.biz = Hello Local
// Production $a = new Tvnu\Config\Adapter\Ini('production', 'path/to/config')); $c = new Tvnu\Config\Config($a); echo $c->get('foo'); // Bar // Development $a = new Tvnu\Config\Adapter\Ini('development', 'path/to/config')); $c = new Tvnu\Config\Config($a); echo $c->get('foo'); // Foo Dev // Local $a = new Tvnu\Config\Adapter\Ini('local', 'path/to/config')); $c = new Tvnu\Config\Config($a); echo $c->get('bar.biz'); // Hello Local
PHP数组
// path/to/config/config.php return [ 'foo' => 'Bar', 'bar' => [ 'foo' => "Hello World", 'biz' => "World Hello", 'baz' => [ 'foo' => 'Foobar' ] ], 'biz' => 'Baz' ]; // path/to/config/config.development.php return [ 'foo' => 'Foo Dev', 'bar' => [ 'foo' => "Hello World", 'biz' => "World Hello", 'baz' => [ 'foo' => 'Barfoo' ] ], ]; // path/to/config/config.local.php return [ 'biz' => [ 'baz' => 'Hello Local' ] ];
// Production $a = new Tvnu\Config\Adapter\PhpArray('production', 'path/to/config')); $c = new Tvnu\Config\Config($a); echo $c->get('foo'); // Bar // Development $a = new Tvnu\Config\Adapter\PhpArray('development', 'path/to/config')); $c = new Tvnu\Config\Config($a); echo $c->get('foo'); // Foo Dev // Local $a = new Tvnu\Config\Adapter\PhpArray('local', 'path/to/config')); $c = new Tvnu\Config\Config($a); echo $c->get('bar.biz'); // Hello Local
YAML
production: foo: Bar bar: foo: "Hello World" biz: "World Hello" bar: foo: "Hello World Third" biz: Baz development: foo: "Foo Dev" local: bar: biz: "Hello Local"
// Production $a = new Tvnu\Config\Adapter\Yaml('production', 'path/to/config')); $c = new Tvnu\Config\Config($a); echo $c->get('foo'); // Bar // Development $a = new Tvnu\Config\Adapter\Yaml('development', 'path/to/config')); $c = new Tvnu\Config\Config($a); echo $c->get('foo'); // Foo Dev // Local $a = new Tvnu\Config\Adapter\Yaml('local', 'path/to/config')); $c = new Tvnu\Config\Config($a); echo $c->get('bar.biz'); // Hello Local
数据库(PDO)
# | key | val
-------------------------------------
1 | foo | Bar
2 | biz | Baz
3 | bar.foo | Hello World
4 | bar.biz | World Hello
// Production $a = new Tvnu\Config\Adapter\Database($pdoConnection, $myTableName, array('my', 'fields', 'of', 'choice')); $c = new Tvnu\Config\Config($a); echo $c->get('foo'); // Bar
Composer
Packagegist
composer.json
{ "require": { "jalet/tvnu-config": "1.2.0" } }
测试
# Run tests
$ composer test
# Run tests with coverage
$ composer coverage
待办事项
- 返回值数组
许可证
版权(c)2013 Joakim Jarsäter joakim@jarsater.com
特此授予任何获得此软件及其相关文档副本(“软件”)的人免费使用的权限,没有限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许获得软件的人这样做,但受以下条件约束
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“现状”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和非侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些责任是在合同行为、侵权行为或其他行为中产生的,无论这些责任是否与软件或其使用或以其他方式有关。