2017 © Pedro Peláez
 

library dal

Data Access Layer

image

packaged/dal

Data Access Layer

  • Thursday, July 26, 2018
  • by bajbnet
  • Repository
  • 3 Watchers
  • 1 Stars
  • 21,128 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 5 Open issues
  • 99 Versions
  • 1 % Grown

The README.md

Data Access Layer

Latest Stable Version Total Downloads CircleCI Dependency Status Coverage Status, (*1)

Getting Started

$connectionConfig = new \Packaged\Config\Provider\Ini\IniConfigProvider(
  build_path('config', 'connections.ini')
);
$datastoreConfig  = new \Packaged\Config\Provider\Ini\IniConfigProvider(
  build_path('config', 'datastores.ini')
);

$resolver = new \Packaged\Dal\DalResolver($connectionConfig,$datastoreConfig);
$resolver->boot();

connections.ini, (*2)

[users]
construct_class = \Packaged\Dal\Ql\PdoConnection

datastores.ini, (*3)

[users]
construct_class = \Packaged\Dal\Ql\QlDataStore
connection = users

users.php, (*4)

class User extends QlDao
{
  protected $_dataStoreName = 'users';
  public $id;
  public $name;
}

Basic Usage, (*5)

$user       = new User();
$user->name = 'Test';
$user->save();

$user->name = 'Testing';
$user->save();

$user->delete();

$user     = new User();
$user->id = 4;
$user->load();

$tbUsers = User::collection(['name' => ['Test','Testing']]);
foreach($tbUsers as $user)
{
echo "Located $user->name\n";
}

$users = User::collection();
var_dump($users->min('id'));
var_dump($users->max('id'));
var_dump($users->sum('id'));
var_dump($users->avg('id'));

var_dump_json($users->distinct('name'));

FYI

DAO = Data Access Object, (*6)

SQL Translation

IDao A Single Row within the database, (*7)

IDataStore The Table within the database, (*8)

IDataConection The connection to the database server e.g. PDO, (*9)

The Versions

18/04 2018
17/04 2018