数据访问层

1.18.3 2024-08-28 10:21 UTC

README

Latest Stable Version Total Downloads CircleCI Dependency Status Coverage Status

入门指南

$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

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

datastores.ini

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

users.php

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

基本用法

$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'));

注意

DAO = 数据访问对象

SQL翻译

IDao 数据库中的一行

IDataStore 数据库中的表

IDataConnection 与数据库服务器的连接,例如PDO