sqids php
1.0.0
Sqids(发音为“squids” )是一个小型库,可让您从数字生成唯一的 ID 。它有利于链接缩短、快速且 URL 安全的 ID 生成以及解码回数字,以便更快地进行数据库查找。
特征:
适合:
不适合:
需要将此包与 Composer 一起放在项目的根目录中。
composer require sqids/sqids
然后您可以将该类导入到您的应用程序中:
use Sqids Sqids ;
$ sqids = new Sqids ();
重要的
Sqids 需要bcmath
或gmp
扩展才能工作。
简单的编码和解码:
$ sqids = new Sqids ();
$ id = $ sqids -> encode ([ 1 , 2 , 3 ]); // "86Rf07"
$ numbers = $ sqids -> decode ( $ id ); // [1, 2, 3]
笔记
?由于算法的设计,多个 ID 可以解码回相同的数字序列。如果 ID 规范对您的设计很重要,则必须手动重新编码解码后的数字并检查生成的 ID 是否匹配。
强制执行 ID 的最小长度:
$ sqids = new Sqids (minLength: 10 );
$ id = $ sqids -> encode ([ 1 , 2 , 3 ]); // "86Rf07xd4z"
$ numbers = $ sqids -> decode ( $ id ); // [1, 2, 3]
通过提供自定义字母表来随机化 ID:
$ sqids = new Sqids (alphabet: ' FxnXM1kBN6cuhsAvjW3Co7l2RePyY8DwaU04Tzt9fHQrqSVKdpimLGIJOgb5ZE ' );
$ id = $ sqids -> encode ([ 1 , 2 , 3 ]); // "B4aajs"
$ numbers = $ sqids -> decode ( $ id ); // [1, 2, 3]
防止特定单词出现在自动生成的 ID 中的任何位置:
$ sqids = new Sqids (blocklist: [ ' 86Rf07 ' ]);
$ id = $ sqids -> encode ([ 1 , 2 , 3 ]); // "se8ojk"
$ numbers = $ sqids -> decode ( $ id ); // [1, 2, 3]
麻省理工学院