justim/access

针对大数据集优化的简单MySQL包装器

v1.21.0 2023-12-13 14:55 UTC

README

Tests status Coverage Status

针对大数据集优化的简单MySQL包装器

快速使用

class User extends Entity {
    // ..
}

$db = Database::create('some PDO connection string');
$user = $db->findOne(User::class, 1);

$user->setName('Dave');
$db->update($user);

$users = $db->findBy(User::class, ['name' => 'Dave']);

// uses a generator
foreach ($users as $user) {
    // $user is an instance of User
}

功能

  • 使用PDO预编译语句池进行快速查询
  • 针对批量查询优化(例如,轻松获取集合的集合)
  • 轻松以JSON格式展示实体,无需担心n+1查询

要求

  • PHP 8.1 或更高版本
  • PDO 扩展

安装

  • Packagist 上可用
  • composer require justim/access=dev-master

文档

目前,请查看测试用例以了解使用方法。

其他功能

  • 目前仅支持MySQL和SQLite,如果能支持更多数据库管理系统(如Postgres),将非常理想
  • 测试目前使用的是内存中的SQLite数据库,使用MySQL数据库会更好

最终说明

目前应用于单个生产产品,功能与该产品相关。