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.phpDatei. Template -Code. Dies:
Wie Sie wahrscheinlich bemerkt haben, haben wir hinzugefügt, dass eine neue Immobilienereignis
Handle
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 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><?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></pre><div class="contentsignin">Nach dem Login kopieren</div></div> 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!