Valuestore

轻松存储一些值。(Easily store some values)

Github stars Tracking Chart

Easily store some loose values

Latest Version on Packagist
Software License
Build Status
Quality Score
StyleCI
Total Downloads

This package makes it easy to store and retrieve some loose values. Stored values are saved as a json file.

It can be used like this:

use Spatie\Valuestore\Valuestore;

$valuestore = Valuestore::make($pathToFile);

$valuestore->put('key', 'value');

$valuestore->get('key'); // Returns 'value'

$valuestore->has('key'); // Returns true

// Specify a default value for when the specified key does not exist
$valuestore->get('non existing key', 'default') // Returns 'default'

$valuestore->put('anotherKey', 'anotherValue');

// Put multiple items in one go
$valuestore->put(['ringo' => 'drums', 'paul' => 'bass']);

$valuestore->all(); // Returns an array with all items

$valuestore->forget('key'); // Removes the item

$valuestore->flush(); // Empty the entire valuestore

$valuestore->flushStartingWith('somekey'); // remove all items whose keys start with "somekey"

$valuestore->increment('number'); // $valuestore->get('number') will return 1 
$valuestore->increment('number'); // $valuestore->get('number') will return 2
$valuestore->increment('number', 3); // $valuestore->get('number') will return 5

// Valuestore implements ArrayAccess
$valuestore['key'] = 'value';
$valuestore['key']; // Returns 'value'
isset($valuestore['key']); // Return true
unset($valuestore['key']); // Equivalent to removing the value

// Valuestore implements Countable
count($valuestore); // Returns 0
$valuestore->put('key', 'value');
count($valuestore); // Returns 1

Read the usage section of this readme to learn about the other methods.

In this post on Laravel News, Tim MacDonald shares how you can use this package to power a settings function.

Spatie is a webdesign agency based in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.

Installation

You can install the package via composer:

composer require spatie/valuestore

Usage

To create a Valuestore use the make method.

$valuestore = Valuestore::make($pathToFile);

You can also pass some values as a second argument. These will be added to the valuestore using the put method.

$valuestore = Valuestore::make($pathToFile, ['key' => 'value']);

All values will be saved as json in the given file.

When there are no values stored, the file will be deleted.

You can call the following methods on the Valuestore

put

/**
 * Put a value in the store.
 *
 * @param string

Main metrics

Overview
Name With Ownerspatie/valuestore
Primary LanguagePHP
Program languagePHP (Language Count: 1)
PlatformBSD, Cross-platform, Linux, Mac, Solaris, Windows
License:MIT License
所有者活动
Created At2016-03-15 14:47:39
Pushed At2025-02-14 13:02:06
Last Commit At
Release Count13
Last Release Name1.3.3 (Posted on )
First Release Name0.0.1 (Posted on )
用户参与
Stargazers Count757
Watchers Count12
Fork Count47
Commits Count139
Has Issues Enabled
Issues Count11
Issue Open Count0
Pull Requests Count24
Pull Requests Open Count0
Pull Requests Close Count13
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private