tkjn / phprandom
Random data generation
Installs: 8
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/tkjn/phprandom
Requires
- php: ^7.1
Requires (Dev)
This package is not auto-updated.
Last update: 2025-11-03 21:01:52 UTC
README
The purposes of this library are:
- Provide a self-contained seeded number generator object, which doesn't rely on global state for the seed
- Define interfaces for random data generation that can be type-hinted and are easy to mock when unit testing.
Installation
Require tkjn/phprandom in composer.json
Usage
$random = new \Tkjn\Random\Integer\XorshiftStar(); // Generate random value between 10 and 100 (inclusive) $randomNumber = $random->rand(10, 100);
Multiple instances will maintain their own seed unlike the built-in php rand() and mt_rand() which are seeded globally
$random1 = new \Tkjn\Random\Integer\XorshiftStar(123); $random2 = new \Tkjn\Random\Integer\XorshiftStar(123); $random3 = new \Tkjn\Random\Integer\XorshiftStar(85874); var_dump($random1->rand(10, 90)); var_dump($random2->rand(10, 90)); var_dump($random3->rand(10, 90)); var_dump($random1->rand(10, 90)); var_dump($random2->rand(10, 90)); var_dump($random3->rand(10, 90));
Results in
int(59)
int(59)
int(13)
int(84)
int(84)
int(15)