crisu83/shortid

1.1.0 2017-06-07 13:04 UTC

README

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