Випадковий рядок в Laravel
October 2019 // 1 хвилина на читання // 174 перегляди
Якщо необхідно отримати довільний рядок, у фреймворку Laravel є необхідні інструменти для цього.
Метод random()
Статичний метод random() класу Illuminate\Support\Str дозволяє згенерувати рядок необхідної довжини. За замовчуванням буде створено рядок довжиною 16 символів.
Сигнатура методу
/**
* Створює випадковий буквено-цифровий рядок
*
* @param int $length
* @return string
*/
public static function random($length = 16)
{
$string = '';
while (($len = strlen($string)) < $length) {
$size = $length - $len;
$bytes = random_bytes($size);
$string .= substr(str_replace(['/', '+', '='], '', base64_encode($bytes)), 0, $size);
}
return $string;
}
Як видно зі скриншоту, з рядка будуть виключені символи /, + та =
Приклади використання
use Illuminate\Support\Str;
Str::random(); //cNtw4g60cZsJhPMm
Str::random(10); //nYQ9UkxTxN
Str::random(); //o5tchJypqVRYqsCx
Str::random(3); //wgg
Str::random(30); //MES2Ei27zC3RoMcPK5vTtbCiiUkMDS