← Повернутись до блогу

Випадковий рядок в 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
2018–2025 (c) Списуй але не один в один