searbe / brite-config
一个简单的PHP INI(或纯数组)配置类,支持点符号访问
此软件包的官方仓库似乎已不存在,因此该软件包已被冻结。
v1.0.1
2014-01-16 08:01 UTC
Requires
- php: >=5.3.2
This package is not auto-updated.
Last update: 2020-01-06 06:56:35 UTC
README
一个简单的PHP INI(或纯数组)配置类,支持点符号访问
- 小巧、简单且单元测试
- 解析INI文件和PHP数组
- 支持配置继承
- 通过 Composer / Packagist 提供
用法
你需要一个配置文件。例如 .ini
文件的内容
[default]
database.host = bar
database.user = foo
database.pass = baz
service.api_key = 123456
email = test@dev.com
[staging:default]
database.user = foo2
database.pass = baz2
[production:staging]
database.user = foo1
database.pass = baz1
email = test@production.com
或者,如果你更喜欢纯PHP数组
<?php $config['default']['database']['host'] = 'bar'; $config['default']['database']['user'] = 'foo'; $config['default']['database']['pass'] = 'baz'; $config['default']['service']['api_key'] = '123456'; $config['default']['email'] = 'test@dev.com'; $config['production']['extends'] = 'staging'; $config['production']['database']['user'] = 'foo1'; $config['production']['database']['pass'] = 'baz1'; $config['production']['email'] = 'test@production.com'; $config['staging']['extends'] = 'default'; $config['staging']['database']['user'] = 'foo2'; $config['staging']['database']['pass'] = 'baz2';
如果你想要使用'registry',请在启动时注册你的配置文件
<?php use Brite\Config\Config; // Registering as the 'default' config means you can grab the config // without specifying a name. Config::register('default', __DIR__ . '/test_config/config.php', 'staging');
然后,在需要时访问你的配置
<?php use Brite\Config\Config; // This grabs the config registered as 'default' $config = Config::instance(); echo $config->get('database.host'); // output: "bar" echo $config->get('database.user'); // output: "foo1"
或者,如果你有多个配置文件,你可以在启动时将配置文件命名为除'default'之外的其他名称,并通过以下方式访问
<?php use Brite\Config\Config; // This grabs the config registered as 'database' $dbConfig = Config::instance('database'); echo $dbConfig->get('host'); echo $dbConfig->get('user');
然而,我们都知道全局访问是不好的,对吧?你可以创建自己的实例来包含你的配置,而不是使用全局静态注册表
<?php use Brite\Config\IniConfig; $config = new IniConfig('/path/to/file.ini', 'staging'); // Now register $config with your registry
... 就这样。简单!