27 lines
654 B
PHP
27 lines
654 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\SharedKernel;
|
|
|
|
final class RandomStringGenerator
|
|
{
|
|
private const SYMBOLS_COLLECTION = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
private const NUMBERS_COLLECTION = '0123456789';
|
|
|
|
public static function generate(int $length): string
|
|
{
|
|
$input = self::NUMBERS_COLLECTION . self::SYMBOLS_COLLECTION;
|
|
|
|
$inputLength = strlen($input);
|
|
$randomString = '';
|
|
|
|
for ($i = 0; $i < $length; $i++) {
|
|
$randomCharacter = $input[rand(0, $inputLength - 1)];
|
|
$randomString .= $randomCharacter;
|
|
}
|
|
|
|
return $randomString;
|
|
}
|
|
}
|