Чтобы выполнить проверку электронной почты в Laravel, вы можете использовать встроенную функцию проверки электронной почты, предоставляемую Laravel. Вот несколько методов, которые вы можете использовать, а также примеры кода:
- Настройка проверки электронной почты по умолчанию:
Laravel предоставляет встроенную функцию, которая включает в себя маршруты, методы контроллера и представления для проверки электронной почты. Чтобы включить его, выполните следующие действия:
Шаг 1. Включите проверку электронной почты в модели Пользователь
:
use Illuminate\Contracts\Auth\MustVerifyEmail;
class User extends Authenticatable implements MustVerifyEmail
{
// ...
}
Шаг 2. Примените промежуточное ПО MustVerifyEmail
к нужным маршрутам:
Route::group(['middleware' => 'verified'], function () {
// Routes that require email verification
});
- Пользовательская проверка электронной почты.
Если вам нужны дополнительные настройки, вы можете реализовать собственную логику проверки электронной почты. Вот пример:
Шаг 1. Создайте миграцию для проверки электронной почты:
php artisan make:migration add_email_verified_at_to_users --table=users
Шаг 2. Измените перенос, добавив столбец email_verified_at
в таблицу users
:
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->timestamp('email_verified_at')->nullable();
});
}
Шаг 3. Обновите модель User
, чтобы реализовать интерфейс MustVerifyEmail
:
use Illuminate\Contracts\Auth\MustVerifyEmail;
class User extends Authenticatable implements MustVerifyEmail
{
// ...
}
Шаг 4. Настройте процесс проверки:
use Illuminate\Auth\Events\Verified;
public function verify(Request $request)
{
if ($request->user()->hasVerifiedEmail()) {
return redirect()->intended(config('app.url'));
}
if ($request->user()->markEmailAsVerified()) {
event(new Verified($request->user()));
}
return redirect()->route('verification.notice');
}
Это всего лишь несколько подходов к проверке электронной почты в Laravel. Вы можете выбрать метод, который лучше всего соответствует вашим требованиям.