ludo237/nanoid-php

PHP的NanoId实现

v1.1.1 2024-05-08 10:32 UTC

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接口。

该库附带两个核心,SecureCoreUnsecureCore

  • 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

贡献

有关详细信息,请参阅CONTRIBUTINGCODE_OF_CONDUCT

注意

如果您有任何问题,请随时在存储库中创建问题

致谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件