originphp/value-store

OriginPHP ValueStore (KVS)

1.0.6 2021-01-04 09:41 UTC

This package is auto-updated.

Last update: 2024-09-16 01:08:54 UTC


README

license build coverage

ValueStore 是一个键值存储(KVS),它为处理各种类型的存储(包括 JSON、Yaml、XML 和 PHP 文件)提供了一个一致的接口。

安装

要安装此包

$ composer require originphp/value-store

使用方法

使用的存储类型通过文件扩展名(jsonymlxmlphp)检测,如果无法检测或没有扩展名,则默认使用 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();

您还可以使用 issetunsetcount

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