Sqids ( ausgesprochen „squids“ ) ist eine kleine Bibliothek, mit der Sie aus Zahlen eindeutige IDs generieren können. Es eignet sich gut für die Linkverkürzung, die schnelle und URL-sichere ID-Generierung und die Dekodierung zurück in Zahlen für schnellere Datenbanksuchen.
Merkmale:
Gut für:
Nicht gut für:
Benötigen Sie dieses Paket mit Composer im Stammverzeichnis Ihres Projekts.
composer require sqids/sqids
Anschließend können Sie die Klasse in Ihre Anwendung importieren:
use Sqids Sqids ;
$ sqids = new Sqids ();
Wichtig
Sqids benötigen entweder die Erweiterung bcmath
oder gmp
um zu funktionieren.
Einfache Kodierung und Dekodierung:
$ sqids = new Sqids ();
$ id = $ sqids -> encode ([ 1 , 2 , 3 ]); // "86Rf07"
$ numbers = $ sqids -> decode ( $ id ); // [1, 2, 3]
Notiz
? Aufgrund des Designs des Algorithmus können mehrere IDs wieder in dieselbe Zahlenfolge dekodiert werden . Wenn es für Ihr Design wichtig ist, dass IDs kanonisch sind, müssen Sie dekodierte Zahlen manuell neu kodieren und prüfen, ob die generierte ID übereinstimmt.
Erzwingen Sie eine Mindestlänge für IDs:
$ sqids = new Sqids (minLength: 10 );
$ id = $ sqids -> encode ([ 1 , 2 , 3 ]); // "86Rf07xd4z"
$ numbers = $ sqids -> decode ( $ id ); // [1, 2, 3]
Randomisieren Sie IDs, indem Sie ein benutzerdefiniertes Alphabet bereitstellen:
$ sqids = new Sqids (alphabet: ' FxnXM1kBN6cuhsAvjW3Co7l2RePyY8DwaU04Tzt9fHQrqSVKdpimLGIJOgb5ZE ' );
$ id = $ sqids -> encode ([ 1 , 2 , 3 ]); // "B4aajs"
$ numbers = $ sqids -> decode ( $ id ); // [1, 2, 3]
Verhindern Sie, dass bestimmte Wörter irgendwo in den automatisch generierten IDs erscheinen:
$ sqids = new Sqids (blocklist: [ ' 86Rf07 ' ]);
$ id = $ sqids -> encode ([ 1 , 2 , 3 ]); // "se8ojk"
$ numbers = $ sqids -> decode ( $ id ); // [1, 2, 3]
MIT