Laravel 8 이메일 확인을 대기열에 넣는 방법은 무엇입니까?

4586 단어 laravelqueuephphow
원래 게시된 @https://codeanddeploy.com 방문하여 샘플 코드 다운로드: https://codeanddeploy.com/blog/laravel/how-to-queue-the-laravel-8-email-verification

이전post에서 Laravel 8 이메일 확인에 대해 공유했지만 확인을 위해 이메일을 보낼 때 대기열을 사용하지 않기 때문에 계정을 등록할 때 문제가 너무 적습니다. 이제 우리는 Laravel 8 이메일 확인에 대기열을 구현하여 사용자 경험이 빠르도록 할 것입니다.

1단계: Laravel 대기열 설정



Laravel 대기열을 설정하지 않은 경우 다음 단계를 따르십시오.

터미널 프로젝트에 다음 명령을 실행합니다.

php artisan queue:table


그럼 일단 완료. 이 명령도 실행하십시오.

php artisan migrate


그런 다음 .env 파일을 업데이트하고 QUEUE_CONNECTION을 찾은 다음 동기화에서 데이터베이스로 값을 변경합니다.

QUEUE_CONNECTION=database


2단계: VerifyEmailQueued라는 알림 만들기



그런 다음 다음 명령을 실행합니다.

php artisan make:notification VerifyEmailQueued


완료되면 생성된 클래스를 app/Notifications/로 이동한 후 다음과 같이 코드를 업데이트합니다.

<?php

namespace App\Notifications;

use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Auth\Notifications\VerifyEmail;
use Illuminate\Notifications\Messages\MailMessage;

class VerifyEmailQueued extends VerifyEmail implements ShouldQueue
{
    use Queueable;
}


3단계: User.php 모델에 대한 사용자 지정 메서드 생성



알림 프로세스를 사용자 정의할 수 있도록 사용자 모델에 이 방법sendEmailVerificationNotification()을 추가합니다. 아래의 다음 코드를 참조하십시오.

/**
* Send the queued email verification notification.
*
* @param  string  $token
* @return void
*/
public function sendEmailVerificationNotification()
{
  $this->notify(new VerifyEmailQueued);
}


그러면 거의 다 되었습니다. 이제 터미널에 다음 명령을 실행합니다.

php artisan queue:work




참고: 로컬에서 개발할 때는 queue:work를 수동으로만 실행하지만 프로덕션에서는 대기열을 처리하도록 감독자를 설정해야 합니다.

Laravel 큐잉에 대한 자세한 내용은 documentation 을 방문하십시오.

이 튜토리얼이 도움이 되었으면 합니다. 이 코드를 다운로드하려면 여기https://codeanddeploy.com/blog/laravel/how-to-queue-the-laravel-8-email-verification를 방문하십시오.

행복한 코딩 :)

좋은 웹페이지 즐겨찾기