File-based object storage with simple API, metadata support, atomic operations and transactions.
composer require ivopetkov/object-storage
Full documentation is available as part of this repository.
$storage = new \IvoPetkov\ObjectStorage('path/to/the/data/dir/');
// Save data
$storage->set([
'key' => 'books/1449392776',
'body' => 'book 1449392776 content in pdf format',
'metadata.title' => 'Programming PHP',
'metadata.authors' => '["Kevin Tatroe", "Peter MacIntyre", "Rasmus Lerdorf"]',
'metadata.year' => '2013'
]);
// Retrieve data
$result = $storage->get([
'key' => 'books/1449392776',
'result' => ['body', 'metadata.title']
]);
// Array
// (
// [body] => 'book 1449392776 content in pdf format'
// [metadata.title] => 'Programming PHP'
// )
This project is licensed under the MIT License. See the license file for more information.
Feel free to open new issues and contribute to the project. Let's make it awesome and let's do in a positive way.
This library is created and maintained by Ivo Petkov (ivopetkov.com).