이 기사에서는 Laravel의 이벤트 관리의 기본 사항을 탐색 할 것입니다. 또한 사용자 정의 이벤트 및 리스너의 실제 예제를 만들어 낼 것입니다.
Laravel의 이벤트 개념은 매우 인기있는 소프트웨어 디자인 패턴 인 관찰자 패턴을 기반으로합니다. 이 패턴에서 시스템은 무언가가 발생할 때 이벤트를 제기하며 이러한 이벤트를 듣고 그에 따라 반응하는 청취자를 정의 할 수 있습니다. 시스템에서 구성 요소를 분리 할 수있는 정말 유용한 기능입니다. 그렇지 않으면 엄격하게 결합 된 코드가 발생했을 수 있습니다. 예를 들어, 누군가가 사이트에 로그인 할 때 시스템의 모든 모듈에 알리려고한다고 가정 해 봅시다. 따라서, 이메일 또는 인앱 알림을 보내 거나이 로그인 이벤트에 반응하고자하는 문제에 대해이 로그인 이벤트에 반응 할 수 있습니다. 이벤트 및 청취자의 기본
이 섹션에서는 Laravel의 이벤트 및 청취자를 핵심 프레임 워크에서 구현하는 방법을 탐색합니다. Laravel의 아키텍처에 익숙하다면 Laravel은 서비스 제공 업체의 개념을 구현한다는 것을 알고있을 것입니다. 이는 다른 서비스를 응용 프로그램에 주입 할 수 있습니다.
마찬가지로 Laravel은file.
Let's have a close look at the loginevent.
Of course, you need to define the artisan command.
This command generates event and listener classes listed under the artisan command to generate a base 템플릿 코드.
<?php<br><br>namespace App\Providers;<br><br>use Illuminate\Auth\Events\Registered;<br>use Illuminate\Auth\Listeners\SendEmailVerificationNotification;<br>use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;<br>use Illuminate\Support\Facades\Event;<br><br>class EventServiceProvider extends ServiceProvider<br>{<br> /**<br> * The event listener mappings for the application.<br> *<br> * @var array<br> */<br> protected $listen = [<br> Registered::class => [<br> SendEmailVerificationNotification::class,<br> ],<br> ];<br><br> /**<br> * Register any events for your application.<br> *<br> * @return void<br> */<br> public function boot()<br> {<br> parent::boot();<br><br> //<br> }<br>}<br>
는 app/events/events/clearcache.php 에서 이벤트 클래스를 생성하고 app/warlupcache.php
에서 청취자 클래스를 생성해야했습니다.아마도 알았 듯이 새로운 속성 이벤트
헬퍼 함수를 추가하여 응용 프로그램 내 어디서나 이벤트를 제기하는 데 사용되었습니다. 이벤트가 제기되면 Laravel은 모든 청취자에게 해당 이벤트를 듣습니다.php artisan event:generate<br>
applistenerswarmupcache <p> 리스너는 <code> appeventsclearcache 이벤트를 듣도록 설정됩니다. 따라서 <code> anplistenerswarmupcache <code> hange 메소드는 컨트롤러에서 이벤트가 제기 될 때 청취자가 호출됩니다. 나머지는 청소 된 캐시를 예열하는 것입니다!
php artisan event:generate<br>
. 이 이벤트 가입자를 사용 하여이 기사에서 지금까지 논의 된 예제를 구현했다면, 이렇게 보일 수 있습니다. 클래스의 인스턴스입니다.
이벤트 가입자를 사용하면 한 장소에서 여러 이벤트 리스너를 구독 할 수 있습니다. 논리적으로 그룹 이벤트 청취자를 원하거나 단일 장소에 성장하는 이벤트를 포함 시키려고하든, 당신이 찾고있는 이벤트 가입자입니다. <?php<br><br>namespace App\Providers;<br><br>use Illuminate\Auth\Events\Registered;<br>use Illuminate\Auth\Listeners\SendEmailVerificationNotification;<br>use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;<br>use Illuminate\Support\Facades\Event;<br><br>class EventServiceProvider extends ServiceProvider<br>{<br> /**<br> * The event listener mappings for the application.<br> *<br> * @var array<br> */<br> protected $listen = [<br> Registered::class => [<br> SendEmailVerificationNotification::class,<br> ],<br> ];<br><br> /**<br> * Register any events for your application.<br> *<br> * @return void<br> */<br> public function boot()<br> {<br> parent::boot();<br><br> //<br> }<br>}<br>
subscribe
subscribe
메소드의 첫 번째 인수는 듣고 싶은 이벤트이며, 두 번째 논쟁은 이벤트가 제기 될 때 청취자가 될 때 청취자가 될 때 청취자가 될 수 있습니다. 자체. IlluminateEventsDispatcher
이벤트 가입자 클래스는 자동으로 선택되지 않습니다. 다음 스 니펫에서 볼 수 있듯이 클래스에 listen
그래서 그것은 당신의 처분에서 이벤트 가입자 클래스였습니다. 그리고 우리 가이 기사의 끝에 도달했을 때, 우리는 오늘 우리가 논의했습니다. LARAVEL —Events와 청취자. 이들은 관찰자 설계 패턴을 기반으로하는데, 이는 응용 프로그램 전체 이벤트를 높이고 다른 모듈이 해당 이벤트를 듣고 그에 따라 반응 할 수 있도록 허용합니다.
위 내용은 Laravel의 맞춤형 이벤트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!