انتقل إلى محتوى الدرس

Handling Events with Listeners معالجة الأحداث عبر كلاسات المستمعات

تسريع الأداء بالتخزين المؤقت Cache::remember وفصل منطق التطبيق عبر الأحداث والمستمعين وجدولة المهام الدورية آلياً.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

ولّد كلاس المستمع عبر الأمر php artisan make:listener مع تحديد الحدث، ومرر التلميح النوعي لكلاس الحدث OrderPlaced داخل دالة handle. في Laravel 11 و 12، يقوم نظام الاكتشاف التلقائي بفحص مجلد app/Listeners وتسجيل أي مستمع يحدد نوع الحدث في دالة handle تلقائياً.

  • الاكتشاف التلقائي للأحداث (Automatic Event Discovery): لا حاجة لتسجيل المستمع يدوياً في مزود الخدمة طالما وُجد التلميح النوعي للحدث في دالة handle.
  • جدولة المستمعات في الطابور (Queued Listeners): أضف implements ShouldQueue لكلاس المستمع لتنفيذ المهام الجانبية البطيئة في الخلفية.
  • تعدد المستمعات للحدث (Multiple Listeners per Event): يمكن لعدة كلاسات مستمعات مستقلة الاستجابة لنفس الحدث فور إطلاقه.
PHP
namespace App\Listeners;
use App\Events\OrderPlaced;
use Illuminate\Contracts\Queue\ShouldQueue;

class SendOrderNotification implements ShouldQueue {
    public function handle(OrderPlaced $event): void {}
}