tiny-blocks/ksuid
最新稳定版本:1.4.0
Composer 安装命令:
composer require tiny-blocks/ksuid
包简介
K-Sortable Unique Identifier.
README 文档
README
Overview
Ksuid stands for K-Sortable Unique Identifier. It's a way to generate globally unique IDs which are partially chronologically sortable.
Installation
composer require tiny-blocks/ksuid
How to use
The library exposes a concrete implementation through the Ksuid class.
Creating a Ksuid
With the random method, a new instance of type Ksuid is created from a timestamp (current unix timestamp - EPOCH)
and a payload (cryptographically secure pseudo-random bytes).
$ksuid = Ksuid::random(); $ksuid->getValue(); # 2QzPUGEaAKHhVcQYrqQodbiZat1 $ksuid->getPayload(); # 464932c1194da98e752145d72b8f0aab $ksuid->getUnixTime(); # 1686353450 $ksuid->getTimestamp(); # 286353450
You can also choose from other factory models.
Ksuid::from(payload: hex2bin('9850EEEC191BF4FF26F99315CE43B0C8'), timestamp: 286235327); Ksuid::fromPayload(value: '0o5Fs0EELR0fUjHjbCnEtdUwQe3'); Ksuid::fromTimestamp(value: 286235327);
Inspecting a Ksuid
You can inspect the components used to create a Ksuid, using the inspectFrom method.
$ksuid = Ksuid::inspectFrom(ksuid: '2QzPUGEaAKHhVcQYrqQodbiZat1');
This will output the following array:
[
'time' => '2023-06-09 20:30:50 -0300 -03',
'payload' => '464932c1194da98e752145d72b8f0aab',
'timestamp' => 286353450
]
License
Ksuid is licensed under MIT.
Contributing
Please follow the contributing guidelines to contribute to the project.
统计信息
- 总下载量: 67.35k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 6
- 点击次数: 2
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-06-08