Squids ( prononcé "squids" ) est une petite bibliothèque qui vous permet de générer des identifiants uniques à partir de nombres . C'est bon pour le raccourcissement des liens, la génération rapide et sécurisée d'ID et le décodage en chiffres pour des recherches plus rapides dans la base de données.
Caractéristiques:
Bon pour :
Pas bon pour :
Exigez ce package, avec Composer, dans le répertoire racine de votre projet.
composer require sqids/sqids
Ensuite, vous pouvez importer la classe dans votre application :
use Sqids Sqids ;
$ sqids = new Sqids ();
Important
Les Squids nécessitent l'extension bcmath
ou gmp
pour fonctionner.
Encodage et décodage simples :
$ sqids = new Sqids ();
$ id = $ sqids -> encode ([ 1 , 2 , 3 ]); // "86Rf07"
$ numbers = $ sqids -> decode ( $ id ); // [1, 2, 3]
Note
? En raison de la conception de l'algorithme, plusieurs identifiants peuvent être décodés dans la même séquence de nombres . S'il est important pour votre conception que les identifiants soient canoniques, vous devez ré-encoder manuellement les nombres décodés et vérifier que l'identifiant généré correspond.
Appliquez une longueur minimale pour les identifiants :
$ sqids = new Sqids (minLength: 10 );
$ id = $ sqids -> encode ([ 1 , 2 , 3 ]); // "86Rf07xd4z"
$ numbers = $ sqids -> decode ( $ id ); // [1, 2, 3]
Randomisez les identifiants en fournissant un alphabet personnalisé :
$ sqids = new Sqids (alphabet: ' FxnXM1kBN6cuhsAvjW3Co7l2RePyY8DwaU04Tzt9fHQrqSVKdpimLGIJOgb5ZE ' );
$ id = $ sqids -> encode ([ 1 , 2 , 3 ]); // "B4aajs"
$ numbers = $ sqids -> decode ( $ id ); // [1, 2, 3]
Empêchez des mots spécifiques d'apparaître n'importe où dans les identifiants générés automatiquement :
$ sqids = new Sqids (blocklist: [ ' 86Rf07 ' ]);
$ id = $ sqids -> encode ([ 1 , 2 , 3 ]); // "se8ojk"
$ numbers = $ sqids -> decode ( $ id ); // [1, 2, 3]
MIT