noxlogic / shortid
此包已被废弃且不再维护。未建议替代包。
Short ID 生成器,作为公共 UUID 的替代方案
dev-master
2017-05-04 15:10 UTC
Requires
- php: >=5.2.0
- paragonie/random_compat: 1.1.6
Requires (Dev)
- phpunit/phpunit: 5.7.17
This package is auto-updated.
Last update: 2021-02-01 12:24:26 UTC
README
这是一个简单的短 ID 生成器,可作为 UUID 的替代方案
此包基于博客文章: https://eager.io/blog/how-long-does-an-id-need-to-be/ 以及其他。
用法
composer require noxlogic/shortid
在您的代码中
$id = ShortId::generate();
或更多一些控制
$generator = new Gmp();
$encoder = new Base58();
$id = ShortId::generate($generator, $encoder);
生成器
这些是实际转换生成数字的生成器。这可以通过多种方式完成,但利用 GMP(以及可能的 BCMATH)扩展应该可以加快生成速度。目前有一个普通生成器和 GMP 生成器。如果可能,当 GMP 可用时,shortner 将使用 GMP。
编码器
这将通过编码数据将实际数字转换为可在您的网站上使用的格式。有两种:base64,将以通用方式编码,和 base58 编码器,将进一步压缩数字。它还将生成仅使用 URL 安全数字,而不使用 base64 使用的某些 URL 不安全字符。