php使用nanoid比UUID更好用

        想必大家都应该知道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 包管理资源,一键安装直接使用。)

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

php使用nanoid比UUID更好用_第1张图片 下载完成,如下:

php使用nanoid比UUID更好用_第2张图片

 

2、路由接口测试,代码如下:

php使用nanoid比UUID更好用_第3张图片

 

generateId($size = 21).'
'; //更安全的随机生成器 echo '更安全的随机生成器:'.$client->generateId($size = 21, $mode = Client::MODE_DYNAMIC).'
'; //自定义长度 echo '自定义长度的随机生成器:'.$client->formattedId($alphabet = '0123456789abcdefg', $size = 21).'
'; } }

3、测试输出,如下:

php使用nanoid比UUID更好用_第4张图片

 具体怎么实用,剩下的就交给强大的你了~

记得三连~

海蜘蛛:只要自己足够的废物,就没有天敌!

 

你可能感兴趣的:(php,开发语言,后端)