Heim  >  Artikel  >  PHP-Framework  >  Detailliertes Beispiel für die Laravel-Ereignisüberwachung

Detailliertes Beispiel für die Laravel-Ereignisüberwachung

WBOY
WBOYnach vorne
2022-04-12 11:48:322310Durchsuche

Dieser Artikel vermittelt Ihnen relevantes Wissen über laravel, in dem hauptsächlich Probleme im Zusammenhang mit der Ereignisüberwachung vorgestellt werden. Die Schritte zur Implementierung der Ereignisüberwachung bestehen darin, Ereignisse zu erstellen, Monitore zu erstellen, Ereignisse und Monitore zu binden und dann Ereignisse wie folgt auszulösen Schauen Sie sich das Beispiel an, ich hoffe, es wird für alle hilfreich sein. 🔜 der realen Gesellschaft Die abstrakte Kartierung ist in unserer realen Gesellschaft dasselbe. Wir beobachten Veränderungen in den Dingen und reagieren auf Veränderungen, damit sich die Dinge gemäß unseren Erwartungen entwickeln. Wenn die Realität auf Codelogik abgebildet wird, werden Ereignisse und ihre Verarbeitungslogik normalerweise getrennt. Schließlich muss nicht auf alle Ereignisse sofort reagiert werden. In Kombination mit Warteschlangen können wir den Workflow der Ereignisüberwachung und -verarbeitung perfekter gestalten.

Detailliertes Beispiel für die Laravel-EreignisüberwachungAnwendungsfall:

Änderungen der Protokolldateigröße überwachen Benutzeranmeldung: Benutzeranmeldezeiten aufzeichnen, zugriffsbezogene Informationen aufzeichnen

Schritte zur Implementierung der Ereignisüberwachung:

1. Ereignis erstellen: Ereignis

2. Überwachung erstellen :listener

3. Bindung von Ereignissen und Überwachung
4. Auslösen von Ereignissen

1. Manuelles Erstellen von Ereignissen und Überwachung

1. Anmeldeereignisse erstellen: Ereignis
app/Events/UserLogin.php

php artisan make:event UserLogin//获取用户信息实例
 public function __construct(User $user){
    $this->user = $user;}

2. Benutzer erstellen Senden Ein Listener an die Anmelde-E-Mail und gleichzeitig das UserLogin-Anmeldeereignis binden: listener app/Listeners/EmailAdminUserLogin.php

php artisan make:listener EmailAdminUserLogin --event=UserLogin //日志打印登录用户信息public function handle(UserLogin $event)
    {//        dd($event);
        //日志打印登录用户信息
        Log::info($event->user->name . '已经登录');
    }

3. Registrierungsereignis und Listening-Bindungsbeziehung
Ein Ereignis kann mehreren Listenern entsprechen

app /Providers/EventServiceProvider .php

protected $listen = [
    'App\Events\UserLogin' => [
        'App\Listeners\EmailAdminUserLogin',
    ],];

4. Ereignisse auslösen, wenn sich der Benutzer anmeldet app/Http/Controllers/Auth/LoginController.php

//覆写AuthenticatesUsers类的authenticated方法protected function authenticated(Request $request, $user){
    //触发事件
    event(new UserLogin($user));}
Detailliertes Beispiel für die Laravel-Ereignisüberwachung2. Ereignisse schnell generieren und überwachen

Hier wird auf dem Listen-Attribut basiert in app/Providers/EventServiceProvider.php Generieren Sie entsprechende Ereignisse und Monitore

php artisan event:generate

[Verwandte Empfehlungen: Laravel-Video-Tutorial

]

Das obige ist der detaillierte Inhalt vonDetailliertes Beispiel für die Laravel-Ereignisüberwachung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen