Generate and Extract Random Data with RandoPHP

Generate and Extract Random Data with RandoPHP

RandoPHP is a package by Roberto Butti that implements random generators (Integer, Char, Byte, etc.) and takes random samples from arrays. This package can be broken down into two distinct types of operations: generating things and drawing from existing arrays.

RandoPHP provides a fluent interface to generate integers, dates, floats, etc. to help you generate data:

// Generate char
Randomize::char()->numeric()->generate();
Randomize::char()->alpha()->generate();
Randomize::char()->alphanumeric()->generate();

// Generate a boolean (flip a coin)
Randomize::boolean()->generate();

// Generate floats and integers
$randomFloat = Randomize::float()->generate();
$randomFloat = Randomize::float()->min(0)->max(90)->generate();
$randomNumber = Randomize::integer()->min(1)->max(6)->generate();
$randomNumber = Randomize::integer()->range(1,6)->generate();

// Generate sequences (i.e. roll the dice 15 times)
$randomRolls = Randomize::sequence()
    ->min(1)
    ->max(6)
    ->count(15)
    ->generate();

// Generate a random sequence of 10 alpha-numeric chars
Randomize::sequence()
    ->chars()
    ->alphanumeric()
    ->count(10)
    ->generate();

Secondly, you can draw random stuff from existing arrays using the Draw class:


$array=["React.js", "Vue.js", "Svelte.js", "Angular.js" , "Alpine.js", "Vanilla js"]; // Draw one $randomJs = Draw::sample($array)->extract(); // Draw three $randomJs = Draw::sample($array)->count(3)->extract(); // Draw three, duplicates allowed $randomJs = Draw::sample($array) ->count(3) ->allowDuplicates() ->extract();

The examples in this article were taken from the project’s readme, which has full details on usage. You can view this package’s source code on GitHub at Hi-Folks/rando-php.


This package was submitted to our Laravel News Links section. Links is a place the community can post packages and tutorials around the Laravel ecosystem. Follow along on Twitter @LaravelLinks.

Filed in: News / packages / PHP

Newsletter

Join 31,000+ others and never miss out on new tips, tutorials, and more.

Laravel News Partners

Laravel Jobs

Senior Full Stack PHP Developer (Laravel)
Remote
MAPPEN
Senior Laravel Developer
Remote
ACTO
Senior Full-Stack Engineer
[REMOTE: USA Only]
Curricula
Developers for B2B eCommerce SaaS, AWS serverless, Laravel, Vue, Python
Remote, full time EU only
ES Tech Group
Senior PHP Developer (Laravel)
Remote
The Interaction Design Foundation