Skip to content

Latest commit

 

History

History
77 lines (56 loc) · 1.61 KB

README.md

File metadata and controls

77 lines (56 loc) · 1.61 KB

PHP Data Storage

Simple PHP Data Storage.

Installation

Run the Composer command to install the latest stable version:

composer require frostealth/php-data-storage @stable

Usage

$storage = new frostealth\storage\Data(); // or new frostealth\storage\Data($array);
$storage->set('login', 'example@example.com');

// ...

if ($storage->has('login')) {
    $login = $storage->get('login');
    $storage->remove('login');
}
// or with default value
if ($storage->get('login', false)) {
    $login = $storage->get('login');
    $storage->remove('login');
}

// ...

$storage->clear(); // clear all values

Working with arrays using "dot" notation

$storage = new frostealth\storage\ArrayData();
$storage->set('params', ['method' => 'post', 'url' => 'http://example.com/']);

$url = $storage->get('params.url'); // 'http://example.com/'
$storage->set('params.method', 'get');
$method = $storage->get('params.method'); // 'get'
$params = $storage->get('params'); // ['method' => 'get', 'url' => 'http://example.com/']

$storage->set('options.my_option', 'value');
$options = $storage->get('options'); // ['my_option' => 'value']

Dependency Injection

use frostealth\storage\DataInterface;

class MyClass
{
    /**
     * @var DataInterface
     */
    protected $data;

    /**
     * @param DataInterface $data
     */
    public function __construct(DataInterface $data)
    {
        $this->data = $data;
    }
}

License

The MIT License (MIT). See LICENSE.md for more information.