donsimon/alt-brite-config

一个简单的PHP INI(或纯数组)配置类,支持点符号访问

1.0.0 2021-06-06 12:49 UTC

This package is auto-updated.

Last update: 2024-09-06 20:14:32 UTC


README

一个简单的PHP INI(或纯数组)配置类,支持点符号访问

用法

您需要一个配置文件。例如 .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

... 就这样。简单!