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]
麻省理工學院