Do you need to generate random and unique values? This package is for you!

  • Strings
  • Numbers
  • UUIDs

All the randomness you need!

# Require package (Composer)

The recommended way to install this package is to use Composer (opens new window):

$ composer require eonx-com/easy-random

# Usage

# Integers

// Will generate a random integer between 0 and 20 (both included)
$myNumber = (new \EonX\EasyRandom\RandomGenerator())->randomInteger(0, 20);

# Strings

The random generator allows you to control the length, and the composition of the generated random strings via a nice fluent interface:

$myString = (new \EonX\EasyRandom\RandomGenerator())
    ->excludeSimilar() // Will exclude similar characters
    ->excludeVowel() // Will exclude vowels, nice trick to avoid "bad words" in generated random strings
    ->includeNumeric(); // Include 0-9 numbers

Do you need to generate random strings for your end users?

// Will generate "user friendly" random string:
// - exclude ambiguous characters
// - exclude symbols
// - exclude vowels
// - include numeric
// - include uppercase

$reference = (new \EonX\EasyRandom\RandomGenerator())


The random generator allows you to generate UUID V4, to do so, you will need to set the UUID V4 generator of your choice onto the random generator instance. This package comes with built-in implementations for: ramsey/uuid (opens new window), symfony/uid (opens new window). If you want to use your own, then you will need to make sure it implements EonX\EasyRandom\Interfaces\UuidV4GeneratorInterface.

$uuidV4Generator = new \EonX\EasyRandom\UuidV4\RamseyUuidV4Generator();
$randomGenerator = (new \EonX\EasyRandom\RandomGenerator())->setUuidV4Generator($uuidV4Generator);

$uuidV4 = $randomGenerator->uuidV4();