استفاده از Resource Controllers در لاراول
📌 مقدمه
یکی از قابلیتهای قدرتمند فریمورک Laravel، وجود Resource Controllerهاست که به توسعهدهنده این امکان را میدهد تا با حداقل کد، عملیات CRUD را به صورت استاندارد و ساختیافته پیادهسازی کند.
🚀 Resource Controller چیست؟
Resource Controller نوعی کنترلر در لاراول است که به طور خودکار تمام مسیرهای CRUD را برای یک منبع (مانند Post، Product، User و...) ایجاد میکند. این مسیرها شامل موارد زیر هستند:
| متد کنترلر | متد HTTP | مسیر | توضیحات |
|---|---|---|---|
index() | GET | /resource | نمایش لیست منابع |
create() | GET | /resource/create | نمایش فرم ایجاد منبع جدید |
store() | POST | /resource | ذخیره منبع جدید |
show($id) | GET | /resource/{id} | نمایش یک منبع خاص |
edit($id) | GET | /resource/{id}/edit | نمایش فرم ویرایش منبع |
update($id) | PUT/PATCH | /resource/{id} | بروزرسانی منبع خاص |
destroy($id) | DELETE | /resource/{id} | حذف منبع خاص |
🧱 ساخت یک Resource Controller
این دستور یک کنترلر به نام PostController میسازد که دارای تمامی متدهای فوق است.
🛣️ تعریف مسیر (Route)
در فایل routes/web.php کافیست این خط را اضافه کنید:
با همین یک خط، تمام مسیرهای مربوط به عملیات CRUD روی posts ساخته میشود!
🧪 مثال واقعی
مدل Post:
مهاجرت:
کنترلر (قسمتی از PostController):
🧩 سفارشیسازی نام Routeها
اگر بخوای مثلاً فقط بعضی از متدها رو استفاده کنی:
یا همه بجز بعضیها:
🖼️ استفاده از آیکن در صفحات Blade (نمونه)
✅ جمعبندی
Resource Controllerها در لاراول باعث نظم، کاهش کدهای تکراری و توسعه سریعتر اپلیکیشن میشوند. با استفاده از آنها، تمام مسیرها و ساختار کنترلر به صورت استاندارد ایجاد شده و کار با منابع بسیار سادهتر خواهد شد.