In Magento 2, You can generate a random number or random string using core Magento\Framework\Math\Random class.
Using Random.php class you can generate a random string and random number with Magento Best Coding Practice and you don’t need to depend on PHP core function.
I have created a Block PHP file to add function( ) for a demo,
<?php class Demo extends \Magento\Framework\View\Element\Template { public function __construct( \Magento\Framework\View\Element\Template\Context $context, \Magento\Framework\Math\Random $mathRandom, array $data = [] ) { $this->mathRandom = $mathRandom; parent::__construct($context,$data); } // Return a random number in the specified range public function getRandomNumber($min = 0, $max = null) { return $this->mathRandom->getRandomNumber($min, $max); } // Generate Random string public function getRandomString($length, $chars = null) { return $this->mathRandom->getRandomString($length, $chars); } }
To generate random string Magento native uses a character,
const CHARS_LOWERS = ‘abcdefghijklmnopqrstuvwxyz’;
const CHARS_UPPERS = ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’;
const CHARS_DIGITS = ‘0123456789’;
To Get Random digit number you need to pass range value in a function,
echo $this->getRandomNumber(1,7); // generate random digit between 1 to 7
echo $this->getRandomString(5); // generate 5 character long string from (A-Za-z0-9)