Sistemul de Evenimente și Ascultători (Events & Listeners) în Laravel

queues Laravel 11.x / Events Q&A / Distribuie cod

Arhitectura orientată pe evenimente (Event-Driven) în Laravel: decuplarea aplicației prin emiterea de evenimente și ascultători asincroni.

Sintaxă
Event::dispatch(new OrderShipped($order)) / class SendShipmentNotification implements ShouldQueue

Modelul Event-Driven permite decuplarea modulelor: la finalizarea unei comenzi, controllerul emite doar OrderPlaced::dispatch($order) fără a ști ce alte acțiuni urmează a fi executate.

Ascultătorii (Listeners) pot fi atașați independent (generare factură PDF, trimitere SMS, actualizare inventar). Mai mult, dacă un Listener implementează ShouldQueue, acesta va fi executat asincron în coadă fără a întârzia răspunsul HTTP către client.

Exemplu: Eveniment și Listener asincron în Laravel
// app/Events/OrderPlaced.php
namespace App\Events;

use App\Models\Order;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;

class OrderPlaced
{
    use Dispatchable, SerializesModels;
    public function __construct(public Order $order) {}
}

// app/Listeners/SendOrderEmail.php
namespace App\Listeners;

use App\Events\OrderPlaced;
use Illuminate\Contracts\Queue\ShouldQueue;

class SendOrderEmail implements ShouldQueue
{
    public function handle(OrderPlaced $event): void
    {
        // Trimite email în fundal pe coadă:
        // Mail::to($event->order->user)->send(new OrderConfirmation($event->order));
    }
}

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Sistemul de Evenimente și Ascultători (Events & Listeners)

Ai o nelămurire despre utilizarea comenzii Sistemul de Evenimente și Ascultători (Events & Listeners) sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.