donsimon / alt-brite-config
一个简单的PHP INI(或纯数组)配置类,支持点符号访问
1.0.0
2021-06-06 12:49 UTC
Requires
- php: >=5.3.2
This package is auto-updated.
Last update: 2024-09-06 20:14:32 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
... 就这样。简单!