jeckel-lab/identity-contract
Composer 安装命令:
composer require jeckel-lab/identity-contract
包简介
Contract and abstract classes to manage identities in Domains
README 文档
README
Identity-contract
| PHP Version | Package version |
|---|---|
| PHP >= 8.2 | v2.0 |
| PHP >= 8.0 | v1.1 |
This package propose abstract classes to manage Identities in DDD projects.
Features
Builtin typed identities :
- integer based identities
- string based identities
- uuid based identities
Also:
- instance are readonly
- equality test
- request same identity twice return same object
Usage
Int Identity
final readonly class CarId extends AbstractIntIdentity {} $id = CarId::from(25);
UUID Identity
use JeckelLab\IdentityContract\AbstractUuidIdentity; final readonly class UserId extends AbstractUuidIdentity {} $id = UserId::from("d2fbc6c0-0497-42f1-8ece-8840641b67f0"); // or $id = UserId::new(); // Generating twice same identity return same object $id1 = UserId::from("d2fbc6c0-0497-42f1-8ece-8840641b67f0"); $id2 = UserId::from("d2fbc6c0-0497-42f1-8ece-8840641b67f0"); var_dump($id1 === $id2); // true
统计信息
- 总下载量: 388
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-03-09