jimwins/uakari
Composer 安装命令:
composer require jimwins/uakari
包简介
A lightweight database entity mapper
README 文档
README
Uakari is a lightweight database entity mapper.
Features
To be seen, really.
Installation
This is installable and autoloadable via Composer as jimwins/uakari. If you aren't familiar with the Composer dependency manager for PHP, you should read this first.
$ composer require jimwins/uakari --prefer-dist
Example
<?php use DateTime; use Uakari\Attributes\AutoIncrement; use Uakari\Attributes\Indexed; use Uakari\Attributes\PrimaryKey; use Uakari\Attributes\SqlDefault; use Uakari\Attributes\SqlOnUpdate; use Uakari\Attributes\SqlType; use Uakari\Attributes\Unique; use Uakari\Entity; use Uakari\Enums\DefaultConstant; class MyEntity { #[PrimaryKey, AutoIncrement] public int $id; #[Indexed] public string $name; #[SqlDefault('whatever')] public string $defaulted; /** @var array<mixed> */ public ?array $arrayValue; #[SqlDefault(DefaultConstant::CurrentTimestamp)] public DateTime $createdAt; #[SqlOnUpdate(DefaultConstant::CurrentTimestamp)] public ?DateTime $updatedAt; } $pdo = new PDO('sqlite::memory:'); $repository = new Repository($pdo, MyEntity::class); $repository->createSchema(); $entities = [ MyEntity::create( name: 'Bob', createdAt: new DateTime('2025-02-01 10:00:00'), ), MyEntity::create( name: 'Sally', arrayValue: [1, 2, 3], ), MyEntity::create( name: 'Fred', arrayValue: ['a' => 'b'], ), ]; foreach ($entities as $entity) { $repository->add($entity); } $entities = $repository->getAll(); var_dump($entities); $entity = $repository->get(1); $entity->name = 'Howard'; $updated = $repository->update($entity); var_dump($updated); $repository->delete($entity);
Running tests
$ composer test
About the uakari
Uakari are New World monkeys of the genus Cacaja, found in the north-western Amazon basin.
Jim Winstead, February 2025
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-02-17