Cómo crear eventos y oyentes en Laravel
Comprar curso

229. Cómo crear eventos y oyentes en Laravel

En Laravel, los eventos y oyentes son una forma poderosa de comunicación entre diferentes partes de una aplicación. Un evento es simplemente una notificación de que algo ha sucedido dentro de la aplicación, mientras que un oyente es una clase que maneja ese evento y lleva a cabo acciones adicionales en respuesta a él.


3 comentarios

Inicia sesión para comentar

Comentarios:

  • Victor Arana Flores

    Victor Arana Flores hace 1 año Destacado

    Los oyentes son clases que "escuchan" estos eventos y llevan a cabo acciones adicionales en respuesta a ellos. Estas acciones pueden ser enviar un correo electrónico de notificación, generar una factura, actualizar un registro de la base de datos, o cualquier otra acción necesaria en función del evento en cuestión.

    Para utilizar eventos y oyentes en Laravel, primero se define el evento y luego se define el oyente correspondiente. El evento puede llevar consigo datos adicionales que se pueden pasar al oyente como argumentos, para que el oyente tenga acceso a ellos y pueda realizar acciones en consecuencia.

    Para que el evento y el oyente se comuniquen entre sí, se utiliza el sistema de registro de eventos de Laravel, que mantiene una lista de eventos y sus correspondientes oyentes. Cuando se dispara un evento, el sistema de registro de eventos busca el oyente correspondiente y lo ejecuta.

    En resumen, los eventos y oyentes en Laravel son una forma poderosa de comunicación entre diferentes partes de la aplicación, permitiendo llevar a cabo acciones adicionales en respuesta a eventos específicos en la aplicación.

  • Richard Pardo

    Richard Pardo hace 6 meses

    Hola, si quiero crear una ficha de usuario cuando este se registra, creo el evento y el listener pero en Laravel 11 como registro en el Service Provider ?

    • Victor Arana Flores hace 6 meses

      Hola Richard, en Laravel 11 no es necesario registrarlos.

      Te comento como se hace ahora. Imagina que creas un evento de la siguiente manera:

      php artisan make:event PodcastProcessed

      y un oyente de la siguiente manera

      php artisan make:listener SendPodcastNotification

      Lo unico que tienes que hacer es dirigirte al oyente, y en el metodo handle indicar el evento que quieres escuchar

      use App\Events\PodcastProcessed;
       
      class SendPodcastNotification
      {
          /**
           * Handle the given event.
           */
          public function handle(PodcastProcessed $event): void
          {
              // ...
          }
      }

      Como ves en la parte de arriba llamo la definicion, y en el metodo handle capturo el evento.

      Eso sería todo, ahora Laravel podra relacionar el evento y el oyente.

    • Victor Arana Flores hace 6 meses

      Otra opción tambien sería hacer lo siguiente. A la hora de crear el oyente lo haces de esta manera:

      php artisan make:listener SendPodcastNotification --event=PodcastProcessed

      Aquí estamos especificando el evento que debe escuchar, y artisan se encargar de agregarlo en el oyente.

    • Santiago Boris Quispe Apaza hace 6 meses

      Estupendo

  • Toni

    Toni hace 1 año

    Hola Victor, me imagino que estarás ocupado, ya que estoy siguiendo también el tutorial Aprende a crear tu propio framework PHP, solo saber cuando retomarás este curso, un saludo y gracias.

    • Victor Arana Flores hace 1 año

      Hola Toni. Lo retomo la próxima semana si o si :D