Generate and Extract Random Data with RandoPHP
Published on by Paul Redmond
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 charRandomize::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 charsRandomize::sequence() ->chars() ->alphanumeric() ->count(10) ->generate();
Secondly, you can draw random stuff from existing arrays using the Draw
class:
<br></br>$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.