ludo237 / nanoid-php
PHP的NanoId实现
v1.1.1
2024-05-08 10:32 UTC
Requires
- php: ^8.3
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.56
- pestphp/pest: ^2.34
- phpstan/phpstan: ^1.10
This package is auto-updated.
Last update: 2024-09-08 11:21:10 UTC
README
A simple, ready to use, PHP 8 ready library for generating NanoIDs.
什么是NanoID?
NanoID是一种简短、易于双击选择、碰撞概率低、易于生成且易于阅读的唯一标识符。
安装
使用composer
composer require ludo237/nanoid-php
用法
该库使用简单。实例化一个新的Client
对象,并调用generate
方法来获取一个新的随机ID。就这么简单。
use Ludo237\Nanoid\Client;
$client = new Client();
$id = $client->generate();
自定义
Client接受自定义字母表、大小和核心,如果您想更改底层算法。为了使用自定义核心,您需要实现CoreInterface
接口。
该库附带两个核心,SecureCore
和UnsecureCore
SecureCore
是默认的,使用random_bytes
函数生成随机字节,这更安全。UnsecureCore
使用mt_rand
函数生成随机字节,这不太安全但更快。
您可以自由地实现自己的核心并将其传递给客户端。
use Ludo237\Nanoid\Client;
$client = new Client();
$client
->alphabet('1234567890')
->size(10)
->core(new MyCustomCore());
$id = $client->generate();
示例
您可以在示例文件夹中找到更多示例。
变更日志
有关最近更改的更多信息,请参阅CHANGELOG。
测试
composer test
贡献
有关详细信息,请参阅CONTRIBUTING和CODE_OF_CONDUCT。
注意
如果您有任何问题,请随时在存储库中创建问题
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。