emo-ti-on / storekeeper
PHP 配置生成器
dev-master
2022-04-27 12:00 UTC
Requires
- php: >=7.4
Requires (Dev)
- phpunit/phpunit: 9.*
This package is auto-updated.
Last update: 2024-09-29 06:14:39 UTC
README
注意:README.md 由非英语母语者创建
配置
您必须设置文件夹,我们将在此文件夹中存储所有配置。
Simplify\Storekeeper\Config::setConfigFolder('/path/to/folder')
此外,您还可以选择地图的分隔符。
Simplify\Storekeeper\Config::setSeparator('.') // By default separator is "."
用法
创建 Simplify\Storekeeper\Config
的实例
$config = new Simplify\Storekeeper\Config('name_of_config');
如果您想在创建实例时存储一些数据在配置中
$data = [ 'data' => '2', 'data2' => 1 ]; $config = new Simplify\Storekeeper\Config('name_of_config', $data);
Storekeeper 会检查是否有以配置名称命名的文件存在。如果存在,则填充当前配置,否则保持为空。
现在您可以使用可用方法开始工作。
get(string $map = ''): mixed
通过 $map 搜索返回数据
示例
$config = new Simplify\Storekeeper\Config('name_of_config'), [ 'someData' => [ 'subData1' => true, 'subData2' => 'data2' ], 'number' => 123 ] ); $data = $config->get('someData.subData1'); // Returns true $data2 = $config->get('somData.subData2'); // Returns 'data2' $data3 = $config->get('number'); // Returns 123
set(string $map, mixed $value): void
通过 $map 设置数据
示例
$config = new Simplify\Storekeeper\Config('name_of_config'); $config->set('str', '1234'); $config->set('number', 1234); $config->set('somData.subData2', false);
注意!
所有数据都保存在全局值中
$config = new Simplify\Storekeeper\Config('name_of_config'); $sameConfig = new Simplify\Storekeeper\Config('name_of_config'); $config->set('foo', 'global value'); echo $sameConfig->get('foo'); // Output: 'global value'
contains(string $map): bool
检查配置键是否存在
示例
$config = new Simplify\Storekeeper\Config('name_of_config'), [ 'existVal' => [ 'existsSubVal' => 'data' ] ] ); $config->contains('existVal') // Returns true $config->contains('existVal.existsSubVal') // Returns true $config->contains('thisValueIsNotExists') // Returns false
unset(string $map): void
通过 $map 删除数据
示例
$config = new Simplify\Storekeeper\Config('name_of_config'), [ 'someData' => [ 'subData1' => true, 'subData2' => 'data2' ], 'number' => 123 ] ); $config->unset('someData') $config->get('someData') // throws Exception 'Key someData does not exist'
reset()
将配置返回到初始状态
示例
$config = new Simplify\Storekeeper\Config('name_of_config'), [ 'value1' => 'i\'am a string' 'value2' => 97 ] ); $config->set('value1', 555) $config->unset('value2') print_r($config->get()) // Array (value1 => 555) $config->reset() print_r($config->get()) /* Array ( value1 => i'am a string value2 => 97 ) */
小心!!!
当您创建 Config 的实例时,它将当前状态保存到本地值。
$snake_config = new \Simplify\Storekeeper\Config('config'); // Saved state is [] $snake_config->set('foo', 1233); // Current state ['foo' => 1233] echo $snake_config->get('foo') . PHP_EOL; // output 1233 $camelConfig = new \Simplify\Storekeeper\Config('config'); // Saved state ['foo' => 1233] $camelConfig->set('foo', 12); // Current state ['foo' => 12] echo $camelConfig->get('foo') . PHP_EOL; // output 12 $camelConfig->reset(); // Current state ['foo' => 1233] echo $snake_config->get('foo') . PHP_EOL; // output 1233 $snake_config->reset(); $camelConfig->get('foo'); // Exception: value: 'foo' Does not exists in ...
truncate(): void
从当前配置中删除所有数据
示例
$config = new Simplify\Storekeeper\Config('name_of_config'), [ 'value1' => 'i\'am a string' 'value2' => 97 ] ); print_r($config->get()) /* Array ( value1 => i'am a string value2 => 97 ) */ $config->truncate(); print_r($config->get()); // Array ()
delete(): void
从配置文件夹中删除文件
save(): void
将数据存储到配置文件夹中的文件(文件名与配置名称相同)
isEmpty(): bool
检查当前配置是否为空
isNotExists(): bool
检查配置文件是否存在