ShortID
Turn numbers and UUIDs into short, URL-friendly strings, and back.
Why
Sequential ids in URLs (/order/1042) are long, reveal how many records you have, and invite
people to guess the next one. A UUID solves that but is 36 characters long.
ShortId encodes the number (or the UUID) into a short string and decodes it back, with no database lookup:
$id = ShortId::fromNumber(1234567890); // short string
ShortId::get($id); // 1234567890
ShortId::fromUuid('092395A6-BC87-11ED-8CA9-0242AC120002');
Use your own alphabet (custom maps) so the ids of your application are not the ones anybody else would generate.
Description
This library enables you to create a very short string from integer numbers.
The basic usage is:
<?php
$shortid = \ByJG\ShortId\ShortId::fromNumber(9223372036854775807);
// Will write: hWifIaXiv9k
Documentation
Installation
composer require "byjg/shortid"
Quick Start
<?php
use ByJG\ShortId\ShortId;
// Create short ID from number
$shortid = ShortId::fromNumber(1234567890);
// Get the number back
$number = ShortId::get($shortid);
// Create from UUID
$shortid = ShortId::fromUuid('092395A6-BC87-11ED-8CA9-0242AC120002');
// Create from hex
$shortid = ShortId::fromHex('3e');
// Generate random short ID
$shortid = ShortId::fromRandom();
Running Tests
composer test