originphp / value-store
OriginPHP ValueStore (KVS)
1.0.6
2021-01-04 09:41 UTC
Requires
- php: >=7.3.0
Requires (Dev)
- originphp/xml: ^2.0
- originphp/yaml: ^2.0
- phpstan/phpstan: ^0.12.64
- phpunit/phpunit: ^9.0
Suggests
- originphp/xml: Install this if you want to work with XML files
- originphp/yaml: Install this if you want to work with Yaml files
README
ValueStore 是一个键值存储(KVS),它为处理各种类型的存储(包括 JSON、Yaml、XML 和 PHP 文件)提供了一个一致的接口。
安装
要安装此包
$ composer require originphp/value-store
使用方法
使用的存储类型通过文件扩展名(json、yml、xml 或 php)检测,如果无法检测或没有扩展名,则默认使用 json 类型。这也可以在构造函数中覆盖。
您可以将其作为对象或数组来操作,如果文件存在,它将加载现有数据。要保存数据,请调用 save 方法。
use Origin\ValueStore\ValueStore; $settings = new ValueStore(storage_path('settings.json')); $settings->email = 'demo@example.com' $settings->incomingServer = [ 'host' => 'mail.example.com', 'port' => 993, 'encryption' => 'ssl' ]; $settings->active = true; $settings->save();
您还可以使用 isset、unset 和 count
unset($settings->key); $hasKey = isset($settings->key); $keys = count($settings);
您可以遍历设置
foreach($settings as $key => $value){ ... }
要递增或递减存储中的值
$settings->increment('count'); $settings->decrement('count');
您还可以传递第二个参数,指定要增加或减少的量。
$settings->increment('count', 4); $settings->decrement('count', 3);
您还可以使用函数来设置/获取/检查值。
$settings->set('foo','bar'); $settings->set(['foo'=>'bar','key'=>'value']); // Set multiple values. $foo = $settings->get('foo'); $keyExists = $settings->has('foo'); $setting->unset('foo'); $count = $settings->count();
您还可以将其作为数组访问
$value = $settings['foo']; $settings['foo'] = 'bar' unset($settings['foo']); $has = isset($settings['foo']);
要清除 ValueStore 中的所有数据(如果有必要,请记得调用保存)。
$settings->clear(); // clears all values
您可以将 ValueStore 对象实时转换为任何类型。
$settings->toArray(); $settings->toJson(); $settings->toPhp(); $settings->toXml(); // requires originphp/xml $settings->toYaml(); // requires originphp/yaml
依赖
要使用 Xml,您需要安装以下 composer 包
$ composer require originphp/xml
要使用 Yaml,您需要安装以下 composer 包
$ composer require originphp/yaml