Как сгенерировать случайный токен в приложении / Mail VeryfyMail.php на Laravel? - PullRequest
2 голосов
/ 05 июля 2019

работает с Laravel 5.7 и у меня есть система VeryfyMail.Мне нужно отправить случайное число субъекту по электронной почте в файле app / Mail VeryfyMail.php,

VeryfyMail.php

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

class VerifyMail extends Mailable
{
    use Queueable, SerializesModels;

    public $user;

    public function __construct($user)
    {
        $this->user = $user;
    }


    public function build()
    {
        //return $this->view('emails.verifyUser');
        return $this->subject('')->view('emails.verifyUser');
    }
}

как я могу сгенерировать некоторое число ramdon для указанной выше темы файла?

1 Ответ

2 голосов
/ 05 июля 2019

Поскольку вы сказали, что хотите, чтобы в качестве субъекта он выбрал случайный токен, просто выполните:

Получение случайной строки (hex)

При создании токенов обычно требуется что-то криптографически безопасное, чтобы умным злоумышленникам было намного сложнее «угадать» токены. К счастью, PHP представил random_bytes () в PHP 7.

Это создаст шестнадцатеричный случайный токен:

// Get some random bytes
$token = random_bytes(8);

// Since random_bytes() returns a string with all kinds of bytes, 
// it can't be presented "as is".
// We need to convert it to a better format. Let's use hex
$token = bin2hex($token)

// Now just add the variable as the subject
return $this->subject($token)->view('emails.verifyUser');

Получение случайного числа (целого числа)

Если вы предпочитаете только цифры, мы можем использовать random_int () вместо:

// Generate the token. Add the min and max value
$token = random_int(1000000, 9999999);

// Use it as the subject
return $this->subject($token)->view('emails.verifyUser');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...