make:controller
توليد متحكّم make:controller
make:controller يولّد صنف متحكّم في app/Http/Controllers، مع خيارات لتوليد متحكّم موارد كامل أو متحكّم API بلا صفحات نماذج.
المتحكّم الفارغ العادي مفيد لمنطق بسيط، لكن الأشيع هو توليد متحكّم موارد (Resource Controller) بخيار --resource فيولّد Laravel كل توابع CRUD السبعة جاهزة (index, create, store, show, edit, update, destroy) بدل كتابتها يدويًا.
خيار --api مصمَّم خصيصًا لواجهات API: يستبعد create وedit لأنّهما مخصّصان لعرض نماذج HTML، وهو ما لا تحتاجه واجهة برمجية بلا حالة.
الصياغة
php artisan make:controller NameController [options]
📄 مثال
# متحكّم فارغ php artisan make:controller PostController # متحكّم موارد كامل (كل توابع CRUD) php artisan make:controller PostController --resource # متحكّم API (بلا create/edit) php artisan make:controller PostController --api --model=Post # متحكّم بتابع واحد فقط (__invoke) php artisan make:controller ShowDashboardController --invokable
أهم الخيارات
| الخيار | الوظيفة |
|---|---|
| --resource | يولّد توابع CRUD السبعة الكاملة (لصفحات ويب) |
| --api | متحكّم موارد بلا create وedit (لواجهات API) |
| --invokable | متحكّم بتابع __invoke واحد فقط، لإجراء بسيط لا يحتاج عدّة توابع |
| --model=Name | يربط المتحكّم بنموذج معيّن (لحقن Route Model Binding تلقائيًا) |
💡 نصائح عملية
- اربط متحكّم الموارد بمسار واحد عبر Route::resource() أو Route::apiResource() بدل تعريف كل مسار يدويًا
⚠️ أخطاء شائعة
- استخدام --resource بدل --api لواجهة API فيبقى create وedit فارغين بلا فائدة
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار LARAVEL الكامل بالعربي.