Skip to content

Library for generating short non-sequential unique identifiers in PHP

License

Notifications You must be signed in to change notification settings

crisu83/php-shortid

Repository files navigation

php-shortid

Build Status Code Climate Total Downloads Latest Unstable Version License

Library for generating short non-sequential unique identifiers in PHP.

Why do I want this?

This library was created as a more convenient alternative to other unique identifer generators such as UUID. While the identifiers generated may not be truly unique, they are more convenient because of their short form and unique enough to be used as e.g. entity ids, database identifiers, url-shorteners and much more.

Disclaimer

Please note that if your project requires the identifiers to be truly unique you should verify the uniqueness yourself. This is by design to both increase the performance and reduce the memory consumption when generating identifiers.

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist crisu83/shortid "*"

or add

"crisu83/shortid": "*"

to the require section of your composer.json file.

Usage

Example usage:

<?php

use Crisu83\ShortId\ShortId;

require(__DIR__ . '/../vendor/autoload.php');

$shortid = ShortId::create();

echo $shortid->generate() . "\n";
echo $shortid->generate() . "\n";
echo $shortid->generate() . "\n";
echo $shortid->generate() . "\n";
echo $shortid->generate() . "\n";
echo $shortid->generate() . "\n";
echo $shortid->generate() . "\n";
echo $shortid->generate() . "\n";
echo $shortid->generate();

Sample output:

$ php examples/examples.php
mGRdss0
cQEhtSm
WAOsF0B
Wxo-6hC
njJM-67
ySojqwP
yz03QdC
baDvRWZ

About

Library for generating short non-sequential unique identifiers in PHP

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages