شرح صفوف ومحتوى الفقرة
يرتكز قرار الانتقال من الدوال المغلقة إلى كلاسات المتحكمات على إبقاء ملف المسارات نظيفاً وقابلاً للاختبار والتخزين المؤقت. يوضح الجدول المقارن التالي لماذا تعتمد تطبيقات Laravel الاحترافية على المتحكمات كمعيار أساسي.
| وجه المقارنة الهندسي | الأسلوب اليدوي أو التقليدي | معيار Laravel 12 الحديث |
|---|---|---|
| موضع منطق المعالجة | تكديس مئات الأسطر من الدوال المغلقة داخل ملف routes/web.php | فصل العمليات في كلاسات مستقلة داخل app/Http/Controllers |
| صياغة ربط المسار | النصوص القديمة التي لا تدعم الانتقال التلقائي في المحرر | مصفوفة قياسية [ProductController::class, 'show'] مدعومة بالكامل |
| تكرار اسم المتحكم | إعادة كتابة اسم الكلاس في عشرات المسارات المتتالية | تجميع أنيق عبر Route::controller مع كتابة اسم الدالة فقط |
| إنشاء ملفات الكلاسات | نسخ الملفات يدوياً وتعديل فضاء الأسماء في كل مرة | توليد فوري ومضبوط عبر الأمر php artisan make:controller |
PHP
# View all routes mapped to their controller actions
php artisan route:list --except-vendor
# Filter route list by a specific URI path
php artisan route:list --path=items
خلاصة المعرفة ومحطة الانتقال
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
أتقنت في هذا الدرس حول «إنشاء المتحكمات البرمجية في Laravel وربطها بالمسارات» مفاهيم أهمية فصل المنطق داخل المتحكمات، وتوليد كلاس المتحكم بأمر Artisan، وربط المسارات بدوال كلاس المتحكم وفق معايير Laravel 12 الحديثة.
الخطوة التالية والدرس القادم
انتقل الآن إلى الدرس التالي «المتحكمات أحادية الإجراء القابلة للاستدعاء في Laravel» للبناء التراكمي على ما تعلمته.