bhittani/repository

支持点符号键的流畅存储仓库

0.1.0 2018-03-15 21:11 UTC

This package is auto-updated.

Last update: 2024-09-15 01:27:25 UTC


README

Travis Build Status Codacy Coverage Codacy Grade Packagist Downloads License

支持点符号键的流畅存储仓库。

安装

您可以使用 composer 安装此包。

$ composer require bhittani/repository

用法

此包提供了一个流畅且直观的存储仓库。

<?php

require_once __DIR__ . '/vendor/autoload.php';

use Bhittani\Repository\Repository;

$storage = new Repository;

// See below examples for usage...

存储和检索值

// Store and retrieve a value.
$storage->set('foo', 'bar');
echo $storage->get('foo'); // 'bar'

// Store an array and retrieve a value using dot notated key access.
$storage->set('app', ['name' => 'Acme', 'version' => '0.1.0']);
echo $storage->get('app.version'); // '0.1.0'

// Store a value using dot notated keys.
$storage->set('db.sqlite.path', ':memory:');
$storage->set('db.sqlite.prefix', 'acme_');
var_dump($storage->get('db.sqlite')); // ['path' => ':memory:', 'prefix' => 'acme_']

预设未定义的键

$storage->preset('a', 'b');
echo $storage->get('a'); // 'b'

$storage->set('x', 'y');
$storage->preset('x', 'z');
echo $storage->get('x'); // 'y'

追加值

$storage->set('append', ['foo']);
$storage->append('append', 'bar');
var_dump($storage->get('append')); // ['foo', 'bar']

预置值

$storage->set('prepend', ['foo']);
$storage->append('prepend', 'bar');
var_dump($storage->get('prepend')); // ['bar', 'foo]

增加值

echo $storage->get('incr'); // null

$storage->increment('incr');
echo $storage->get('incr'); // 1

$storage->increment('incr', 5);
echo $storage->get('incr'); // 6

减少值

echo $storage->get('decr'); // null

$storage->decerement('decr');
echo $storage->get('decr'); // -1

$storage->decerement('decr', 5);
echo $storage->get('decr'); // -6

回退到默认值

echo $storage->get('bar'); // null

echo $storage->get('bar', 'fallback'); // 'fallback'

检查键是否已设置

var_dump($storage->has('bar')); // (bool) false

获取所有项目

$storage->add('foo', 'bar');
$storage->add('beep.boop', 'baz');

var_dump($storage->all()); // ['foo' => 'bar', 'beep' => ['boop' => 'baz']]

变更日志

有关更改的更多信息,请参阅 CHANGELOG

测试

$ git clone https://github.com/kamalkhan/repository
$ cd repository
$ composer install
$ composer test

贡献

请参阅 CONTRIBUTINGCONDUCT 获取详细信息。

安全

如果您发现任何安全相关的问题,请通过电子邮件 shout@bhittani.com 而不是使用问题跟踪器。

鸣谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件