Ricerca…


Creare un osservatore

Gli osservatori sono usati per ascoltare i callback del ciclo di vita di un determinato modello in Laravel.
Questi ascoltatori possono ascoltare una delle seguenti azioni:

  • la creazione di
  • creato
  • in aggiornamento
  • aggiornato
  • Salvataggio
  • salvato
  • eliminazione
  • cancellato
  • ripristino
  • restaurato

Ecco un esempio di un osservatore.

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

Come mostrato nell'osservatore utente, ascoltiamo l'azione aggiornata, tuttavia prima che questa classe ascolti effettivamente il modello utente, dobbiamo prima registrarlo all'interno di 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());
    }
}

Ora che abbiamo registrato il nostro osservatore, la funzione aggiornata verrà richiamata ogni volta dopo aver salvato il modello dell'utente.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow