Suche…


Einen Beobachter erstellen

Beobachter werden zum Abhören von Livecycle-Rückrufen eines bestimmten Modells in Laravel verwendet.
Diese Zuhörer können eine der folgenden Aktionen abhören:

  • Erstellen
  • erstellt
  • Aktualisierung
  • aktualisierte
  • Sparen
  • Gerettet
  • löschen
  • gelöscht
  • Wiederherstellen
  • restauriert

Hier ist ein Beispiel eines Beobachters.

UserObserver

<?php

namespace App\Observers;

/**
 * Observes the Users model
 */
class UserObserver 
{
    /**
     * Function will be triggerd when a user is updated
     *
     * @param Users $model
     */
     public function updated($model)
     {
         // execute your own code
     }
}

Wie im Benutzerbeobachter gezeigt, hören wir die aktualisierte Aktion. Bevor diese Klasse jedoch das Benutzermodell abhört, müssen wir sie zuerst im EventServiceProvider .

EventServiceProvider

<?php 

namespace App\Providers;

use Illuminate\Contracts\Events\Dispatcher as DispatcherContract;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;

use App\Models\Users;
use App\Observers\UserObserver;

/**
 * Event service provider class
 */
class EventServiceProvider extends ServiceProvider
{
    /**
     * Boot function
     *
     * @param DispatcherContract $events
     */
    public function boot(DispatcherContract $events)
    {
        parent::boot($events);

        // In this case we have a User model that we want to observe
        // We tell Laravel that the observer for the user model is the UserObserver
        Users::observe(new UserObserver());
    }
}

Nachdem wir unseren Beobachter registriert haben, wird die aktualisierte Funktion jedes Mal nach dem Speichern des Benutzermodells aufgerufen.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow