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

Dispatching Custom Application Events إطلاق أحداث التطبيق المخصصة Events

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

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

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

مع نمو التطبيق، فإن وضع إرسال الإشعارات وتحديث الإحصائيات ومسح الكاش مباشرة داخل دالة المتحكم يجعل الكود معقداً وصعب الصيانة. يتيح توليد كلاس حدث عبر الأمر php artisan make:event الإعلان عن وقوع حدث في النظام مثل OrderPlaced لتتولى المستمعات المستقلة معالجته.

  • حاوية بيانات الحدث (Domain Data Container): يحمل كلاس الحدث نسخة النموذج المرتبط بالعملية داخل خاصية عامة في دالة الباني.
  • المعمارية المفصولة (Decoupled Architecture): ينجز المتحكم العملية الأساسية ثم يطلق الحدث عبر OrderPlaced::dispatch.
  • وحدة المسؤولية (Single Responsibility): يمكنك إضافة مهام جانبية جديدة لاحقاً بإنشاء مستمعات إضافية دون لمس كود المتحكم.
PHP
namespace App\Events;
use App\Models\Order;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;

class OrderPlaced {
    use Dispatchable, SerializesModels;
}