> PHP 프레임워크 > Laravel > Laravel 이벤트 시스템의 작동 원리를 분석합니다.

Laravel 이벤트 시스템의 작동 원리를 분석합니다.

藏色散人
풀어 주다: 2021-12-29 14:46:06
앞으로
2139명이 탐색했습니다.

다음 Laravel 튜토리얼 칼럼에서는 Laravel 이벤트 시스템의 작동 원리를 소개하겠습니다. 모든 분들께 도움이 되길 바랍니다!

EventServiceProvider에 등록하세요(app/Providers/EventServiceProvider.php)

protected $listen = [
        Registered::class => [
            SendEmailVerificationNotification::class,
        ],
        'App\Events\Test' => [
            'App\Listeners\EventListener',
        ],
    ];
로그인 후 복사

명령줄을 사용하여 이벤트와 리스너를 생성하세요

$ php artisan event:generate
로그인 후 복사

이번에 두 개의 파일이 생성됩니다

1. /Events/Test.php (이벤트)

edit event

<?php

namespace App\Events;use App\Models\User;use Illuminate\Broadcasting\Channel;use Illuminate\Broadcasting\InteractsWithSockets;use Illuminate\Broadcasting\PresenceChannel;use Illuminate\Broadcasting\PrivateChannel;use Illuminate\Contracts\Broadcasting\ShouldBroadcast;use Illuminate\Foundation\Events\Dispatchable;use Illuminate\Queue\SerializesModels;class Test{
  use Dispatchable, InteractsWithSockets, SerializesModels;

  /**
 * Create a new event instance. * * @return void
 */  public function __construct($id)
 {  
     echo &#39;触发事件成功!---------&#39;.$id;
     $this->id = $id;
  }

  /**
 * Get the channels the event should broadcast on. * * @return \Illuminate\Broadcasting\Channel|array
 */  public function broadcastOn()
 {  return new PrivateChannel('channel-name');
  }}
로그인 후 복사

2, app/Listeners/EmailVerified.php (리스너)

editlistener

<?php

namespace App\Listeners;
use App\Events\Test;use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
class EventListener{
  /**
 * Create the event listener. * * @return void
 */  public function __construct()
 {  //
  }

  public function handle(Test $event)
 {  
     echo &#39;监听成功!监听值:&#39;.$event->id;
 }}
로그인 후 복사

이벤트

public function test1(){
 event(new Test('11111111'));
 return '测试事件系统';}
로그인 후 복사
에서 트리거됨

공통 명령

php artisan event:generate
php artisan make:event UserRegisteredEvent
php artisan make:listener SendMailListener --event="UserRegisteredEvent"
로그인 후 복사

관련 권장 사항:최신 5개 Laravel 비디오 튜토리얼

위 내용은 Laravel 이벤트 시스템의 작동 원리를 분석합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:learnku.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿