تکنولوژی نوین اینترنتی
کنترلرها در لاراول به شما این امکان را میدهند که منطق برنامهتان را از ویوها جدا کرده و ساختار کد شما را مرتبتر و قابل نگهداریتر کنید. کنترلرها وظیفه مدیریت درخواستها، فراخوانی مدلها و بازگرداندن پاسخها (ویوها یا دادهها) را بر عهده دارند.
در اینجا توضیح میدهم که چطور میتوانید کنترلر در لاراول بسازید، از آن استفاده کنید و با آن کار کنید.
برای ساخت یک کنترلر در لاراول، میتوانید از دستور artisan
استفاده کنید. دو نوع کنترلر اصلی در لاراول وجود دارد: کنترلر ساده و کنترلر منابع.
برای ایجاد یک کنترلر ساده، از دستور زیر استفاده میکنید:
این دستور یک فایل کنترلر به نام MyController.php در پوشه app/Http/Controllers
ایجاد میکند.
اگر میخواهید یک کنترلر که عملیات CRUD (ایجاد، خواندن، بهروزرسانی و حذف) را انجام دهد، بسازید، میتوانید از دستور resource
استفاده کنید:
این دستور یک کنترلر با تمام متدهای لازم برای عملیات CRUD ایجاد میکند.
در فایل کنترلر، متدهایی برای پاسخ به درخواستهای مختلف میسازید. برای مثال، متدهای index
, show
, create
, store
, edit
, update
, و destroy
برای مدیریت عملیات CRUD.
اگر از کنترلر منابع استفاده کنید، لاراول به طور خودکار متدهایی برای عملیات CRUD برای شما ایجاد میکند.
در اینجا:
متد index()
برای نمایش تمام پستها است.
متد create()
برای نمایش فرم ایجاد پست است.
متد store()
برای ذخیره پست جدید در پایگاه داده است.
متد show()
برای نمایش یک پست خاص است.
متد edit()
برای نمایش فرم ویرایش پست است.
متد update()
برای بهروزرسانی اطلاعات پست است.
متد destroy()
برای حذف پست است.
برای استفاده از کنترلرها در لاراول، باید روتهای مربوطه را در فایل routes/web.php تعریف کنید.
برای یک کنترلر منابع، میتوانید از دستور Route::resource
استفاده کنید که به طور خودکار تمام روتهای CRUD را برای شما ایجاد میکند.
این دستور تمام روتهای زیر را ایجاد میکند:
GET /posts
→ index()
GET /posts/create
→ create()
POST /posts
→ store()
GET /posts/{id}
→ show()
GET /posts/{id}/edit
→ edit()
PUT/PATCH /posts/{id}
→ update()
DELETE /posts/{id}
→ destroy()
در لاراول، میتوانید از میانهروها (Middleware) برای انجام عملیات قبل یا بعد از درخواستها استفاده کنید. این میانهروها میتوانند برای بررسی احراز هویت، مجوز دسترسی و موارد دیگر استفاده شوند.
در کنترلر میتوانید از میانهروها به صورت زیر استفاده کنید:
در اینجا:
میانهرو auth
به تمام متدهای کنترلر اعمال میشود و فقط کاربرانی که وارد سیستم شدهاند میتوانند به متدها دسترسی داشته باشند.
برای ارسال دادهها از کنترلر به ویو، میتوانید از متد view
استفاده کنید:
همچنین میتوانید از متد compact
برای ارسال متغیرها به ویو استفاده کنید:
کنترلرها در لاراول برای مدیریت درخواستها و منطق برنامه استفاده میشوند.
شما میتوانید با استفاده از دستور php artisan make:controller
یک کنترلر بسازید و سپس متدهای مختلف آن را برای عملیات مختلف (مانند CRUD) تعریف کنید.
روتها باید به کنترلرها متصل شوند تا درخواستها به متدهای مناسب هدایت شوند.
میانهروها به شما این امکان را میدهند که عملیات خاصی را قبل یا بعد از درخواستها انجام دهید.
دادهها را میتوانید به راحتی از کنترلر به ویو ارسال کنید.
اگر سوال یا مشکلی دارید، خوشحال میشوم کمک کنم!