Skip to content

Micro SQLite+PDO wrapper for use in micro-frameworks; written in php

Notifications You must be signed in to change notification settings

journeygroup/dblite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

DBLite

Why

Small serverless databases can be extremely useful in micro frameworks. SQLite (3) provides an excellent storage engine for these databases, and PDO offers a painless way to query and work with SQL result sets. DBLite simply combines the two in a easy to use wrapper for quick configuration.

Usage

Installation

To add DBLite to your project, just use composer:

composer require journeygroup/dblite dev-master

Configuration

DBLite only requires 1 configuration option (its not called lite for nothing). These are all the possible configuration options:

$config = [
    'storage' => 'path/to/storage/dir',             # Required storage path
    'name' => 'your-database.db',                   # (optional) database name
    'tables' => [                                   # (optional) tables to create
        'table_one' => 'CREATE TABLE table_one ...' # (optional) CREATE TABLE sql statement
    ]
];

To use them, simply instantiate the database class:

$db = new Journey\DBLite($config);

or

# Configure once for your application
Journey\DBLite::config($config);

# Access methods statically
Journey\DBLite::query('SELECT * FROM mytable');

When DBLite is instantiated, it will check for a the presence a database, if it doesn't exist, it will automatically create the database and add the tables in the configuration file.

Querying

Any call to a PDO method is valid, and methods can be called statically or on an instance of DBLite. When called statically, only configuration options of the first instantiated database will be used.

use Journey\DBLite;

# Example configuration
DBLite::config([
    'storage' => './storage',
    'tables' => parse_ini_file('./tables.ini')
]);

# Example Prepared Insert
DBLite::prepare('INSERT INTO mytable (first, last) VALUES(?, ?)')
    ->execute(['Journey', 'Group']);

# Example Query Statement
foreach (DBLite::query('SELECT * FROM mytable') as $row) {
    var_dump($row);
}

About

Micro SQLite+PDO wrapper for use in micro-frameworks; written in php

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages