Description
Core\Storage storage()
Our storage function allows you to store information in the DB, without the need to create custom database tables on a clients set. Its based on a key/value system that allows for custom queries and ordering plus the ability to set and return multiple values for a specific key.
Examples
<?php
route('/foo', function() {
/**
* Set a string value "bar" in the DB using the key "foo"
*/
storage()->set('foo', 'bar');
// Print the value for "foo"
$object = storage()->get('foo');
echo $object->value;
/**
* Storing arrays
*/
storage()->set('foo_array', [
'hello' => 'world'
]);
// Print the value for "foo_array"
$object = storage()->get('foo_array');
// Prints the object
print_r($object->value);
// Print the "hello" value in our array, which will output "world"
echo $object->value->hello;
/**
* Storing multiple values
*/
storage()->set('multiple', '1');
storage()->set('multiple', '2');
storage()->set('multiple', '3');
// Get all objects based on key
$objects = storage()->all('multiple');
foreach ($objects as $object) {
// Will print 1,2,3
echo $object->value . ',';
}
});
Methods
| Method | Description | Usage | Returns |
|---|---|---|---|
get(string $key [, int $id = null] )
$key Unique storage key. $id If you store multiple data in a key
| Get data from the DB based on a unique key | $object = storage()->get('foo');
echo $object->value;
| On success it returns Core\Storage\Object, null on failure. |
getById(int $id)
$id Unique auto incremented ID. | Get a specific data set based on the unique | $object = storage()->getById(1); echo $object->value; | On success it returns Core\Storage\Object, null on failure. |
all(string $key)
$key Unique storage key. | Returns all data sets based on a unique key.
| $objects = storage()->all('multiple');
foreach ($objects as $object) {
echo $object->value;
}
| Array of values on success, empty array on failure. Note: Each value from the array is an object from Core\Storage\Object |
set(string $key, mixed $value , int $id = 0] )
$key Unique storage key. $value Value to set for this entry. Can be a string, array, int or boolean. $id (optional) Include a custom unique ID for this data set. | Sets data into the DB based on your key. | // Set a string
storage()->set('foo', 'bar');
// Set an array
storage()->set('foo_array', [
'hello' => 'world'
]);
// Set multiple values
storage()->set('foo', '1');
storage()->set('foo', '2');
storage()->set('foo', '3');
| Returns unique auto increment ID on success, false on failure. |