Listeners y Eventos en Laravel
Los eventos y listeners en Laravel proporcionan una forma sencilla de implementar el patrón Observer. Los eventos son clases que representan "algo que ha sucedido" en tu aplicación, mientras que los listeners son clases que realizan acciones en respuesta a esos eventos. Esto permite desacoplar la lógica de tu aplicación y hacerla más mantenible.
Conceptos clave
- Eventos: Clases que representan acciones que han ocurrido.
- Listeners: Clases que ejecutan lógica en respuesta a eventos.
- Despacho de eventos: El proceso de notificar a los listeners sobre un evento.
- Registro de eventos y listeners: Se realiza en el archivo
app/Providers/EventServiceProvider.php
.
Los eventos y listeners son una herramienta poderosa para construir aplicaciones Laravel modulares y escalables. Permiten manejar la lógica de la aplicación de manera organizada y eficiente.
Ejemplo de evento y listener
// Generar evento y listener php artisan make:event PedidoCreado php artisan make:listener EnviarNotificacionPedido --event=PedidoCreado // app/Events/PedidoCreado.php namespace App\Events; use Illuminate\Queue\SerializesModels; class PedidoCreado { use SerializesModels; public $pedido; public function __construct($pedido) { $this->pedido = $pedido; } } // app/Listeners/EnviarNotificacionPedido.php namespace App\Listeners; use App\Events\PedidoCreado; use Illuminate\Contracts\Queue\ShouldQueue; class EnviarNotificacionPedido implements ShouldQueue { public function handle(PedidoCreado $event) { // Lógica para enviar notificación del pedido } } // app/Providers/EventServiceProvider.php protected $listen = [ PedidoCreado::class => [ EnviarNotificacionPedido::class, ], ]; // Despachar evento event(new PedidoCreado($pedido));
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias