[PHP] Experimental library for manipulation with array-based "database".
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Fixed PHPDoc comments Feb 3, 2015
tests
.gitignore
composer.json
license.md
loader.php
readme.md

readme.md

InnuDb

Experimental PHP library for manipulation with array-based "database".

$pathToFile = __DIR__ . '/data.php'; // see file content below
$loader = new Cz\InnuDb\Loader;
$innudb = new Cz\InnuDb\InnuDb($loader, $pathToFile);

$persons = $innudb->createCollection('persons');

foreach($persons as $id => $item)
{
	var_dump($item);
}

// $persons->getCount();
//
// $persons->limit(limit);
// $persons->limit(limit, offset);
//
// $persons->sort('column'); // ASC is default
// $persons->sort('column', 'ASC'); // or order('column')
// $persons->sort('column', 'DESC'); // ASC is default
// $persons->sort(array(
//     'column' => 'ASC', // or 'DESC'
// ));
// $persons->sort('name')->sort('age', 'DESC'); // fluent interface
//
// $persons->where('column', 'value'); // column = value
// $persons->where('column >', 'value'); // column > value
// $persons->where('column <=', 'value'); // column <= value
// $persons->where('column', 'value')->where('column2 >', 'value2'); // fluent interface: column = value AND column2 > value2
// $persons->where(array(
//     'column' => 'value', // column = value
//     'column2 <=' => 'value2', // AND column2 <= value2
// ));

Supported data files: PHP file, NEON, JSON, INI

PHP file

<?php
return array(
    'persons' => array( // 'persons' subset
        'harry-potter' => array(
            'name' => 'Harry Potter',
            'story' => 'Harry Potter',
            'age' => 20,
        ),

        'gandalf' => array(
            'name' => 'Gandalf The White',
            'story' => 'Lord of the Rings',
            'age' => 2000,
        ),
    ),
);

NEON file

persons:
    harry-potter:
        name: Harry Potter
        story: Harry Potter
        age: 20

    gandalf:
        name: Gandalf The White
        story: Lord of the Rings
        age: 2000

License: New BSD License
Author: Jan Pecha, https://www.janpecha.cz/