想必大家都应该知道UUID,尤其是做java的。它能生成不重复的唯一字符串,用于标识非常实用,可是在php中使用UUID是相当麻烦的。通常都是前端在使用nanoid,也没看到csdn上讲php版如何使用,特此发文。
我找到的php-uuid的使用方案:
1、安装uuid扩展。(那这就很麻烦了,一个扩展的安装很耗时和各种奇怪的安装问题。但是功能很靠谱!)
2、自行实现uuid函数。(网上有很多这样得文章,但是确定会很靠谱嘛?)
所以接下来要说的就是我们的主角!nanoid!
nanoid的几个特点:
1、更轻。(只有 179 字节(压缩)。没有依赖关系。它使用大小限制来控制大小。)
2、更安全。(它使用加密的强随机 API 并保证符号的正确分布)
3、更效率。(NanoID 比 UUID 快 60%。与 UUID 字母表中的 36 个字符不同,NanoID 只有 21 个字符。)
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz-
4、更方便。(有composer 包管理资源,一键安装直接使用。)
扫描二维码关注公众号,回复:
14364648 查看本文章
5、自定义性更强。(可以更短哦~)
6、支持更多开发语言。
C#、C++、Clojure 和 ClojureScript、Crystal、Dart & Flutter、Deno、Go、Elixir、Haskell、Janet、Java、Nim、Perl、PHP、带字典的 Python、Ruby、Rust、Swift
通过以上特点,我们还有什么理由不使用呢?
本文以thinkphp为例:
1、安装Nanoid-php,命令如下:
composer require hidehalo/nanoid-php
下载完成,如下:
2、路由接口测试,代码如下:
<?php
namespace app\controller;
use app\BaseController;
//nanoid方法类
use Hidehalo\Nanoid\Client;
class Index extends BaseController
{
public function nanoid(){
//使用nanoid对象
$client = new Client();
//默认随机生成器
echo '默认随机生成器:'.$client->generateId($size = 21).'<br/>';
//更安全的随机生成器
echo '更安全的随机生成器:'.$client->generateId($size = 21, $mode = Client::MODE_DYNAMIC).'<br/>';
//自定义长度
echo '自定义长度的随机生成器:'.$client->formattedId($alphabet = '0123456789abcdefg', $size = 21).'<br/>';
}
}
3、测试输出,如下:
具体怎么实用,剩下的就交给强大的你了~
记得三连~
海蜘蛛:只要自己足够的废物,就没有天敌!