Light weight database abstraction.
First of all, create a database connection with DSN, username and password. Take the Mysql Database for example:
<?php
use Ark\Database\Connection;
$db = new Connection('mysql:host=localhost;dbname=testdb', 'username', 'password');
<?php
// Query
$db->builder()
->select('*')
->from('user')
->where('age > :age and created_at > :time', [
':age' => 20,
':time' => time() - 3600
])
->limit(10)
->queryAll();
// Insert
$db->builder()
->insert('user', [
'name' => 'user1',
'password' => 'pa$$word',
]);
<?php
// Create model factory
$factory = $db->factory('@user');
// Insert
$factory->insert([
'name' => 'user1',
'age' => 20,
]);
// Get model
$user = $factory->findOneByName('user1');
// Update
$user->email = '[email protected]';
$user->save();
// Delete
$user->delete();