2017 © Pedro Peláez
 

library valuestore

Easily store some values

image

spatie/valuestore

Easily store some values

  • Tuesday, May 15, 2018
  • by Spatie
  • Repository
  • 7 Watchers
  • 155 Stars
  • 8,891 Installations
  • PHP
  • 3 Dependents
  • 0 Suggesters
  • 17 Forks
  • 0 Open issues
  • 8 Versions
  • 11 % Grown

The README.md

Easily store some loose values

Latest Version on Packagist Software License Tests Total Downloads, (*1)

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

It can be used like this:, (*3)

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., (*4)

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

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

Support us

, (*7)

We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products., (*8)

We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall., (*9)

Installation

You can install the package via composer:, (*10)

``` bash composer require spatie/valuestore, (*11)


## Usage To create a Valuestore use the `make` method. ```php $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., (*12)

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

All values will be saved as json in the given file., (*13)

When there are no values stored, the file will be deleted., (*14)

You can call the following methods on the Valuestore, (*15)

put

/**
 * Put a value in the store.
 *
 * @param string|array $name
 * @param string|int|null $value
 * 
 * @return $this
 */
public function put($name, $value = null)

get

/**
 * Get a value from the store.
 *
 * @param string $name
 *
 * @return null|string
 */
public function get(string $name)

has

/*
 * Determine if the store has a value for the given name.
 */
public function has(string $name) : bool

all

/**
 * Get all values from the store.
 *
 * @return array
 */
public function all() : array

allStartingWith

/**
 * Get all values from the store which keys start with the given string.
 *
 * @param string $startingWith
 *
 * @return array
*/
public function allStartingWith(string $startingWith = '') : array

forget

/**
 * Forget a value from the store.
 *
 * @param string $key
 *
 * @return $this
 */
public function forget(string $key)

flush

/**
 * Flush all values from the store.
 *
 * @return $this
 */
 public function flush()

flushStartingWith

/**
 * Flush all values from the store which keys start with the specified value.
 *
 * @param string $startingWith
 *
 * @return $this
 */
 public function flushStartingWith(string $startingWith)

pull

/**
 * Get and forget a value from the store.
 *
 * @param string $name 
 *
 * @return null|string
 */
public function pull(string $name)

increment

/**
 * Increment a value from the store.
 *
 * @param string $name
 * @param int $by
 *
 * @return int|null|string
 */
 public function increment(string $name, int $by = 1)

decrement

/**
 * Decrement a value from the store.
 *
 * @param string $name
 * @param int $by
 *
 * @return int|null|string
 */
 public function decrement(string $name, int $by = 1)

push

/**
 * Push a new value into an array.
 *
 * @param string $name
 * @param $pushValue
 *
 * @return $this
 */
public function push(string $name, $pushValue)

prepend

/**
 * Prepend a new value into an array.
 *
 * @param string $name
 * @param $prependValue
 *
 * @return $this
 */
public function prepend(string $name, $prependValue)

count

/**
 * Count elements.
 *
 * @return int
 */
public function count()

Changelog

Please see CHANGELOG for more information about what has changed recently., (*16)

Testing

bash $ composer test, (*17)

Contributing

Please see CONTRIBUTING for details., (*18)

Security

If you've found a bug regarding security please mail security@spatie.be instead of using the issue tracker., (*19)

Postcardware

You're free to use this package, but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using., (*20)

Our address is: Spatie, Kruikstraat 22, 2018 Antwerp, Belgium., (*21)

We publish all received postcards on our company website., (*22)

Credits

License

The MIT License (MIT). Please see License File for more information., (*23)

The Versions

15/05 2018

dev-master

9999999-dev https://github.com/spatie/valuestore

Easily store some values

  Sources   Download

MIT

The Requires

  • php ^7.0

 

The Development Requires

json spatie valuestore

15/05 2018

1.2.2

1.2.2.0 https://github.com/spatie/valuestore

Easily store some values

  Sources   Download

MIT

The Requires

  • php ^7.0

 

The Development Requires

json spatie valuestore

09/10 2017

1.2.1

1.2.1.0 https://github.com/spatie/valuestore

Easily store some values

  Sources   Download

MIT

The Requires

  • php ^7.0

 

The Development Requires

json spatie valuestore

29/09 2017

1.2.0

1.2.0.0 https://github.com/spatie/valuestore

Easily store some values

  Sources   Download

MIT

The Requires

  • php ^7.0

 

The Development Requires

json spatie valuestore

29/09 2017

dev-feature-put-with-make

dev-feature-put-with-make https://github.com/spatie/valuestore

Easily store some values

  Sources   Download

MIT

The Requires

  • php ^7.0

 

The Development Requires

json spatie valuestore

20/01 2017

1.1.0

1.1.0.0 https://github.com/spatie/valuestore

Easily store some values

  Sources   Download

MIT

The Requires

  • php ^7.0

 

The Development Requires

json spatie valuestore

06/04 2016

1.0.0

1.0.0.0 https://github.com/spatie/valuestore

Easily store some values

  Sources   Download

MIT

The Requires

  • php ^7.0

 

The Development Requires

json spatie valuestore

05/04 2016

0.0.1

0.0.1.0 https://github.com/spatie/valuestore

Easily store some values

  Sources   Download

MIT

The Requires

  • php ^7.0

 

The Development Requires

json spatie valuestore