This is a PHP implementation of a data access object using PDO. This library offers basic database manipulation capabilities, automating basic Create-Read-Update-Delete tasks. Currently tested on MySQL, MariaDB, SQLite and PostgreSQL
Using it is very simple. First you define your DAO:
include_once 'dao.class.php';
$myDAO = new DAO(
// PDO Connection string
new PDO("sqlite:./test.sqlite"),
// DB Table name
'table',
// Mapping of table column names and PDO param types
[
'id' => PDO::PARAM_INT,
'columnone' => PDO::PARAM_STR,
'columntwo' => PDO::PARAM_STR
],
// Defines which column is the primary key (requirement of this library)
'id',
// Specifies whether the primary key is auto generated or not. If primary
// key is auto generated, you dont need to pass it when creating objects
true
);
Now you have an object which is ready to perform basic CRUD operations without writing one line of SQL:
// Creates a new object in the database. Note that id doesn't need to be specified if it
// is autogenerated in database and this information was passed in the constructor
$id = $myDAO->create(['columnone'=>'abc', columntwo=>'xyz']);
// Retrieves the object with given primary key
$object = $myDAO->get($id);
// Checks the existence of the object without retrieving it
$itExists = $myDAO->exists($id);
$itDoesNotExist = $myDAO->exists('BLAHBLAHBLAH');
// Retrieves a list of objects
$result = $myDAO->list();
// Deletes the object
$result = $myDAO->del($id);