1. متوسط

    ما هي دورة حياة الطلب (Request Lifecycle) في Laravel من لحظة وصوله لـ public/index.php وحتى خروج الاستجابة؟

    يبدأ بـ index.php، ثم تحميل Autoloader، وإنشاء نسخة التطبيق وتمرير الطلب لـ HTTP Kernel، وتشغيل Service Providers، والمرور عبر الـ Middlewares، والتوجيه للـ Controller، وإعادة الاستجابة.

    اقرأ الشرح الكامل
  2. متوسط

    ما الفرق بين bind و singleton و scoped في Service Container الخاص بـ Laravel؟

    bind ينشئ نسخة جديدة تماماً مع كل استدعاء، وsingleton يحتفظ بنسخة واحدة طوال عمر التطبيق، بينما scoped يحتفظ بنسخة واحدة لكل طلب HTTP وتُفرغ مع الطلب التالي.

    اقرأ الشرح الكامل
  3. متوسط

    ما الفرق بين دالتي register() و boot() في Service Providers بـ Laravel ومتى تستخدم كلاً منهما؟

    تستخدم register() حصراً لربط الكائنات داخل الـ Container دون استدعاء أي خدمات أخرى، وتستخدم boot() لتنفيذ منطق يعتمد على خدمات أخرى اكتمل تسجيلها.

    اقرأ الشرح الكامل
  4. متوسط

    كيف تعمل واجهات Facades في Laravel داخلياً وما دور دالة getFacadeAccessor؟

    تعمل كـ Static Proxies لكائنات مسجلة في الـ Service Container، حيث تعيد getFacadeAccessor مفتاح الخدمة وتوجه __callStatic الاستدعاء للنسخة الحقيقية.

    اقرأ الشرح الكامل
  5. متقدم

    كيف يعزز Laravel Octane أداء التطبيقات وما هي مخاطر تسريب الحالة في الذاكرة (State Leaks)؟

    يشغل التطبيق فوق خوادم عالية السرعة (FrankenPHP أو Swoole) مع إبقاء التطبيق محملاً في الذاكرة؛ وتحدث تسريبات الحالة عند تخزين بيانات الطلب في متغيرات عامة أو Singletons.

    اقرأ الشرح الكامل
  6. متوسط

    كيف ينفذ Laravel نمط خط الأنابيب (Pipeline) في الـ Middlewares وما هي واجهة TerminableMiddleware؟

    يمرر الطلب عبر سلسلة مغلفة بدوال Closures؛ والـ Terminable Middleware توفر دالة terminate($request, $response) تنفذ بعد إرسال الاستجابة للعميل.

    اقرأ الشرح الكامل
  7. مبتدئ

    لماذا لا يجب استدعاء دالة env() مطلقاً خارج ملفات مجلد config/ في مشاريع Laravel؟

    لأن تشغيل أمر config:cache يجمع كل ملفات الإعدادات في ملف واحد ولا يقوم بتحميل ملف .env، مما يجعل دالة env() تعيد null دائماً في كود التطبيق.

    اقرأ الشرح الكامل
  8. متوسط

    ما الفرق بين Event Listeners العادية و Event Subscribers في Laravel؟

    الـ Listener يستمع لحدث واحد محدد، بينما الـ Subscriber هو فئة تستطيع الاشتراك في عدة أحداث مختلفة وتحديد دوال معالجة مخصصة لكل منها.

    اقرأ الشرح الكامل
  9. مبتدئ

    كيف تصمم أوامر Artisan المخصصة وجدولتها تلقائياً عبر Laravel Task Scheduler؟

    تنشئ الأمر عبر make:command وتنفذ منطقه داخل handle()، وتجدوله في routes/console.php دون الحاجة لكتابة إدخالات Cron متعددة على السيرفر.

    اقرأ الشرح الكامل
  10. متوسط

    كيف تغيرت بنية إقلاع التطبيق في Laravel 11 بإلغاء الـ Http Kernel ودمج التكوين في bootstrap/app.php؟

    أصبحت البنية أكثر رشاقة؛ حيث دُمجت إعدادات الـ Middlewares والـ Routing والـ Exceptions مباشرة داخل Application Builder في ملف bootstrap/app.php.

    اقرأ الشرح الكامل
  11. متقدم

    ما هي المتطلبات المعمارية لجعل تطبيق Laravel عديم الحالة (Stateless) وقابلاً للتوسع الأفقي (Horizontal Scaling)؟

    ترحيل الجلسات والكاش إلى Redis مركزي، وتخزين الملفات المرفوعة في سحابة S3، وتشغيل الـ Cron على خادم واحد، ومزامنة مفاتيح التشفير وقواعد البيانات المشتركة.

    اقرأ الشرح الكامل