1. Go to this page and download the library: Download tobento/service-storage library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
tobento / service-storage example snippets
use Tobento\Service\Storage\Tables\Tables;
use Tobento\Service\Storage\JsonFileStorage;
use Tobento\Service\Storage\ItemInterface;
$tables = new Tables();
$tables->add('products', ['id', 'sku', 'price'], 'id');
$storage = new JsonFileStorage(
dir: 'home/private/storage/',
tables: $tables
);
$inserted = $storage
->table('products')
->insert([
'id' => 1,
'sku' => 'pencil',
'price' => 1.29,
]);
$item = $storage->table('products')->find(1);
var_dump($item instanceof ItemInterface);
// bool(true)
use Tobento\Service\Database\PdoDatabaseFactory;
use Tobento\Service\Storage\Tables\Tables;
use Tobento\Service\Storage\PdoMariaDbStorage;
use Tobento\Service\Storage\StorageInterface;
use PDO;
$pdo = (new PdoDatabaseFactory())->createPdo(
name: 'mysql',
config: [
'dsn' => 'mysql:host=localhost;dbname=db_name',
'username' => 'root',
'password' => '',
'options' => [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_EMULATE_PREPARES => false,
],
],
);
$tables = new Tables();
$tables->add('products', ['id', 'sku', 'price'], 'id');
$tables->add('users', ['id', 'firstname', 'lastname', 'email'], 'id');
$storage = new PdoMariaDbStorage($pdo, $tables);
var_dump($storage instanceof StorageInterface);
// bool(true)
use Tobento\Service\Database\PdoDatabaseFactory;
use Tobento\Service\Storage\Tables\Tables;
use Tobento\Service\Storage\PdoMySqlStorage;
use Tobento\Service\Storage\StorageInterface;
use PDO;
$pdo = (new PdoDatabaseFactory())->createPdo(
name: 'mysql',
config: [
'dsn' => 'mysql:host=localhost;dbname=db_name',
'username' => 'root',
'password' => '',
'options' => [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_EMULATE_PREPARES => false,
],
],
);
$tables = new Tables();
$tables->add('products', ['id', 'sku', 'price'], 'id');
$tables->add('users', ['id', 'firstname', 'lastname', 'email'], 'id');
$storage = new PdoMySqlStorage($pdo, $tables);
var_dump($storage instanceof StorageInterface);
// bool(true)
use Tobento\Service\Storage\Tables\Tables;
use Tobento\Service\Storage\JsonFileStorage;
use Tobento\Service\Storage\StorageInterface;
$tables = new Tables();
$tables->add('products', ['id', 'sku', 'price'], 'id');
$tables->add('users', ['id', 'firstname', 'lastname', 'email'], 'id');
$storage = new JsonFileStorage(
dir: 'home/private/storage/',
tables: $tables
);
var_dump($storage instanceof StorageInterface);
// bool(true)
use Tobento\Service\Storage\ItemInterface;
use Tobento\Service\Storage\Item;
$item = new Item(['title' => 'Title']);
var_dump($item instanceof ItemInterface);
// bool(true)
foreach($item as $attr) {
var_dump($attr);
// string(5) "Title"
}
use Tobento\Service\Storage\ItemInterface;
use Tobento\Service\Storage\Item;
$item = new Item(['title' => 'Title']);
var_dump($item instanceof ItemInterface);
// bool(true)
var_dump($item->get('title'));
// string(5) "Title"
// returns the default value if the key does not exist.
var_dump($item->get('sku', 'Sku'));
// string(3) "Sku"
use Tobento\Service\Storage\Item;
$item = new Item(['title' => 'Title']);
var_dump($item->all());
// array(1) { ["title"]=> string(5) "Title" }
use Tobento\Service\Storage\Item;
$item = new Item(['title' => 'Title']);
var_dump($item->count());
// int(1)
use Tobento\Service\Storage\Item;
use Tobento\Service\Collection\Collection;
$item = new Item(['title' => 'Title']);
var_dump($item->collection() instanceof Collection);
// bool(true)
use Tobento\Service\Storage\ItemsInterface;
use Tobento\Service\Storage\Items;
$items = new Items([
'foo' => ['title' => 'Title'],
]);
var_dump($items instanceof ItemsInterface);
// bool(true)
foreach($items as $item) {
var_dump($item['title']);
// string(5) "Title"
}
use Tobento\Service\Storage\Items;
$items = new Items([
'foo' => ['title' => 'Title'],
]);
var_dump($items->get('foo.title'));
// string(5) "Title"
// returns the default value if the key does not exist.
var_dump($items->get('foo.sku', 'Sku'));
// string(3) "Sku"
use Tobento\Service\Storage\Items;
$items = new Items([
'foo' => ['title' => 'Title'],
]);
var_dump($items->count());
// int(1)
use Tobento\Service\Storage\Items;
use Tobento\Service\Collection\Collection;
$items = new Items([
'foo' => ['title' => 'Title'],
]);
var_dump($items->collection() instanceof Collection);
// bool(true)
use Tobento\Service\Storage\Tables\Tables;
$tables = new Tables();
$tables->add(
table: 'products',
columns: ['id', 'sku'],
primaryKey: 'id' // or null if none
);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.