Zoeken…


Een waarnemer creëren

Waarnemers worden gebruikt om te luisteren naar livecycle callbacks van een bepaald model in Laravel.
Deze luisteraars kunnen luisteren naar een van de volgende acties:

  • het creëren van
  • aangemaakt
  • updating
  • bijgewerkt
  • besparing
  • saved
  • verwijderen
  • verwijderde
  • herstellen
  • hersteld

Hier is een voorbeeld van een waarnemer.

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
     }
}

Zoals getoond in de gebruikerobservator, luisteren we naar de bijgewerkte actie, maar voordat deze klasse daadwerkelijk naar het gebruikersmodel luistert, moeten we het eerst in de 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());
    }
}

Nu we onze waarnemer hebben geregistreerd, wordt de bijgewerkte functie elke keer opgeroepen nadat het gebruikersmodel is opgeslagen.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow