GlosarioArquitectura

¿Qué es Event?

Los Events en Laravel implementan el patron Observer, permitiendo que distintas partes de la aplicacion reaccionen a acciones especificas como el registro de un usuario o la creacion de un pedido, desacoplando la logica de negocio.

Events (Eventos)

El sistema de eventos de Laravel implementa el patron Observer, permitiendo suscribirse y escuchar eventos que ocurren en la aplicacion. Los eventos desacoplan diferentes componentes del sistema.

Definir un evento

php artisan make:event OrderPlaced
class OrderPlaced
{
    use Dispatchable, SerializesModels;

    public function __construct(
        public Order $order
    ) {}
}

Despachar un evento

// En cualquier parte del codigo
OrderPlaced::dispatch($order);

// O usando el helper
event(new OrderPlaced($order));

Registro de listeners

En Laravel 11+, los listeners se descubren automaticamente si siguen la convencion de nombres.

// Los listeners se registran automaticamente
class SendOrderConfirmation
{
    public function handle(OrderPlaced $event): void
    {
        Mail::to($event->order->user)->send(
            new OrderConfirmationMail($event->order)
        );
    }
}

Los eventos son ideales para enviar notificaciones, actualizar estadisticas, sincronizar con servicios externos y cualquier efecto secundario que deba ocurrir despues de una accion principal. Pueden procesarse de forma sincrona o asincrona usando colas.