Buscar..


Creando un observador

Los observadores se utilizan para escuchar devoluciones de llamada de ciclo de vida de un determinado modelo en Laravel.
Estos oyentes pueden escuchar cualquiera de las siguientes acciones:

  • creando
  • creado
  • actualizando
  • actualizado
  • ahorro
  • salvado
  • borrando
  • eliminado
  • restaurando
  • restaurado

Aquí hay un ejemplo de un observador.

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

Como se muestra en el observador del usuario, escuchamos la acción actualizada; sin embargo, antes de que esta clase escuche el modelo del usuario, primero debemos registrarlo dentro del 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());
    }
}

Ahora que hemos registrado nuestro observador, se llamará a la función actualizada cada vez que se guarde el modelo de usuario.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow