Heim >Backend-Entwicklung >PHP-Tutorial >Benutzerdefinierte Ereignisse in Laravel

Benutzerdefinierte Ereignisse in Laravel

William Shakespeare
William ShakespeareOriginal
2025-03-04 09:07:10113Durchsuche

Custom Events in Laravel

In diesem Artikel werden wir die Grundlagen des Eventmanagements in Laravel untersuchen. Wir werden auch ein reales Beispiel für ein benutzerdefiniertes Ereignis und einen benutzerdefinierten Hörer erstellen. In diesem Muster erhöht das System Ereignisse, wenn etwas passiert, und Sie können Zuhörer definieren, die diese Ereignisse hören und entsprechend reagieren. Es ist eine wirklich nützliche Funktion, mit der Sie Komponenten in einem System entkoppeln können, das sonst zu eng gekoppelten Code geführt hätte. Daher können sie auf dieses Login-Ereignis reagieren, unabhängig davon, ob es darum geht, eine E-Mail oder eine In-App-Benachrichtigung zu senden, oder etwas, das auf dieses Anmeldemittel reagieren möchte. Wenn Sie mit der Architektur von Laravel vertraut sind, wissen Sie wahrscheinlich, dass Laravel das Konzept eines Dienstanbieters implementiert, mit dem Sie eine Anwendung unterschiedliche Dienste injizieren können.

App/Providers/EventServiceProvider.php

Datei. Template -Code. Dies:

Wie Sie wahrscheinlich bemerkt haben, haben wir hinzugefügt, dass eine neue Immobilienereignis

Helferfunktion verwendet wird, um ein Ereignis von überall innerhalb einer Anwendung zu erhöhen. Wenn das Ereignis erhöht wird, ruft Laravel alle Hörer auf, die dieses bestimmte Ereignis anhören. Somit wird die Methode Handle

des applistenersWarmUpcache <p> Listener aufgerufen, wenn das Ereignis von einem Controller angehoben wird. Der Rest ist es, Caches aufzuwärmen, die gelöscht wurden!</p> <h2> Was ist ein Event -Abonnent? Egal, ob Sie logischerweise Ereignishörer gruppieren oder wachsende Ereignisse an einem einzigen Ort enthalten möchten, es ist der Ereignisabonnent, den Sie suchen. Das erste Argument der </h2> -Methode ist eine Instanz der <p> -Klasse, mit der Sie Ereignisse anhand der </p> -Methode mit Hörern binden können. selbst. Sie müssen es in der Klasse <p> EventServiceProvider.php </p> unter der Eigenschaft <pre class="brush:php;toolbar:false">&lt;?php&lt;br&gt;&lt;br&gt;namespace App\Providers;&lt;br&gt;&lt;br&gt;use Illuminate\Auth\Events\Registered;&lt;br&gt;use Illuminate\Auth\Listeners\SendEmailVerificationNotification;&lt;br&gt;use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;&lt;br&gt;use Illuminate\Support\Facades\Event;&lt;br&gt;&lt;br&gt;class EventServiceProvider extends ServiceProvider&lt;br&gt;{&lt;br&gt; /**&lt;br&gt; * The event listener mappings for the application.&lt;br&gt; *&lt;br&gt; * @var array&lt;br&gt; */&lt;br&gt; protected $listen = [&lt;br&gt; Registered::class =&gt; [&lt;br&gt; SendEmailVerificationNotification::class,&lt;br&gt; ],&lt;br&gt; ];&lt;br&gt;&lt;br&gt; /**&lt;br&gt; * Register any events for your application.&lt;br&gt; *&lt;br&gt; * @return void&lt;br&gt; */&lt;br&gt; public function boot()&lt;br&gt; {&lt;br&gt; parent::boot();&lt;br&gt;&lt;br&gt; //&lt;br&gt; }&lt;br&gt;}&lt;br&gt;</pre> registrieren, wie im folgenden Snippet gezeigt. Zuhörer. Sie basieren auf dem Beobachter-Entwurfsmuster, mit dem Sie anwendungsweite Ereignisse anziehen und anderen Modulen ermöglichen können, diese Ereignisse zu hören und entsprechend zu reagieren. <p></p>

Das obige ist der detaillierte Inhalt vonBenutzerdefinierte Ereignisse in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn