czproject/innudb

There is no license information available for the latest version (v0.9.0) of this package.

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

v0.9.0 2013-08-18 12:17 UTC

README

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/