다음 칼럼에서는 laravel tutorial 칼럼에서 laravel의 이벤트와 관찰자를 소개합니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!
1: 이벤트 및 리스너
이벤트는 비교적 광범위한 용어로 취해진 작업을 나타낼 수 있습니다. 이벤트와 함께 나타나는 것은 사용자가 수행하는 작업을 모니터링하고 사용자의 행동에 대한 후속 처리를 수행하는 데 사용되는 리스너입니다.
이벤트 시스템은 애플리케이션의 다양한 측면을 분리할 수 있는 훌륭한 방법을 제공합니다. 단일 이벤트에는 서로 독립적인 여러 리스너가 있을 수 있기 때문입니다. 예를 들어 주문이 배송될 때마다 사용자에게 알림을 보낼 수 있습니다. 주문 처리 코드를 알림 코드에 연결하는 대신 수신할 수 있는 이벤트를 작성할 수 있습니다.
이벤트:
Laravel 프레임워크가 이벤트를 생성하려는 경우 다음 명령을 사용하여 이벤트를 생성할 수 있습니다:
php artisan make:event 事件名称
파일은 app/Events 디렉토리에 저장됩니다.
리스너:
리스너 생성은 다음 명령을 사용하여 생성할 수 있습니다:
php artisan make:listener 监听器名称
등록:
이벤트와 리스너가 생성된 후에는 결합해야 합니다. EventServiceProvider 서비스 제공자에 등록할 수 있습니다. 다음과 같습니다:
protected $listen = [ 事件名称 => [ 监听器名称, . ], ];
Distribution
event(new TestEvent());
둘: 모델 이벤트
모델 이벤트는 모델을 위해 특별히 추가된 추가 기능입니다. 이는 우리를 위해 해당 이벤트와 리스너를 생성합니다. 모델 이벤트를 사용할 때 모델이 제공한 규칙을 준수해야 합니다.
모델에서 필수 바인딩
protected $dispatchesEvents = [ 'saving' => \App\Events\TestEvent::class, // 'updated' => \App\Events\TestEvent::class, ];
3: 리스너가 더 많은 경우 관찰자
이벤트를 연결해야 합니다. , 우리는 그것들을 등록하고 구현해야 하는데, 이는 더 번거로울 것입니다. 이때 우리는 관찰자 사용을 고려할 수 있습니다. 모델에서 여러 이벤트를 수신하는 경우 관찰자를 사용하여 이러한 리스너를 별도의 클래스로 구성할 수 있습니다.
관찰자 사용:
관찰자는 다음 명령을 사용하여 생성할 수 있습니다.
php artisan make:observer
모델과 직접 연결하려면 모델과 연결할 매개변수를 직접 추가할 수도 있습니다.
php artisan make:observer UserObserver --model=User
관찰자 등록 :
서비스 제공업체에
User::observe(UserObserver::class);
를 등록하거나 모델에
public static function booted() { self::observe(UserObserver::class); }
을 등록하세요.
위 내용은 라라벨의 이벤트와 옵저버에 대해 함께 알아볼까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!