phpgt / ulid
独特的、字典序可排序的标识符。
v1.2.1
2023-10-19 10:57 UTC
Requires
- php: >=8.0
Requires (Dev)
- phpmd/phpmd: ^2.13
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.3
- squizlabs/php_codesniffer: ^3.7
This package is auto-updated.
Last update: 2024-08-30 01:55:16 UTC
README
在您的应用程序的任何地方创建一个new Ulid()
,您就拥有了一个可以作为数据库主键使用的可字符串化的对象。Ulid字符串看起来像01G2J6MYN0PGC5Q21W9C
,或者可以前缀一个类型如CUSTOMER_01G2J6MYN0PGC5Q21W9C
。它们是密码学伪随机生成的,并按顺序排列,使得新的Ulid比较结果为“大于”旧的Ulid。
这解决了使用自增整数主键时出现的问题,这些主键在分布式数据库中是可预测的,并且难以处理。
示例用法
use Gt\Ulid\Ulid; $exampleDataSource->create(new Person( new Ulid("pet"), name: "Cody", age: 5, ));