Replaces rand, srand, getrandmax functions calls with their mt_*
analogs or random_int.
Risky when the configured functions are overridden. Or when relying on the seed based generating of the numbers.
Mapping between replaced functions with the new ones.
Allowed types: array<string, string>
Default value: ['getrandmax' => 'mt_getrandmax', 'rand' => 'mt_rand', 'srand' => 'mt_srand']
Default configuration.
--- Original
+++ New
<?php
-$a = getrandmax();
-$a = rand($b, $c);
-$a = srand();
+$a = mt_getrandmax();
+$a = mt_rand($b, $c);
+$a = mt_srand();With configuration: ['replacements' => ['getrandmax' => 'mt_getrandmax']].
--- Original
+++ New
<?php
-$a = getrandmax();
+$a = mt_getrandmax();
$a = rand($b, $c);
$a = srand();With configuration: ['replacements' => ['rand' => 'random_int']].
--- Original
+++ New
-<?php $a = rand($b, $c);
+<?php $a = random_int($b, $c);The rule is part of the following rule sets:
@PHP70Migration:risky with config:
['replacements' => ['mt_rand' => 'random_int', 'rand' => 'random_int']]@PHP71Migration:risky with config:
['replacements' => ['mt_rand' => 'random_int', 'rand' => 'random_int']]@PHP74Migration:risky with config:
['replacements' => ['mt_rand' => 'random_int', 'rand' => 'random_int']]@PHP80Migration:risky with config:
['replacements' => ['mt_rand' => 'random_int', 'rand' => 'random_int']]
- Fixer class: PhpCsFixer\Fixer\Alias\RandomApiMigrationFixer
- Test class: PhpCsFixer\Tests\Fixer\Alias\RandomApiMigrationFixerTest
The test class defines officially supported behaviour. Each test case is a part of our backward compatibility promise.