آموزش resource controller در لاراول

چاپ

در این مقاله به بررسی کنترلرها در لاراول 5 می پردازیم. این مقاله موارد زیر را به شما آموزش می دهد:

  1. کنترلرها چه هستند؟
  2. کنترلر لاراول 5، در کجا قرار دارد؟
  3. آشنایی با بهترین روش برای ایجاد کنترلر در لاراول
  4. ایجاد یک resource controller
  5. تفاوت بین کنترلر و resource controller

 1. کنترلرها چه هستند؟

از کنترلرها برای انجام اعمال منطقی استفاده می شود. بعنوان مثال، اگر بخواهیم دو عدد را با یکدیگر جمع کنیم، که مثلا در داخل متغیرهای a$ و b$ قرار گرفته اند، محاسبه ی این اعداد در داخل تابع کنترلر قابل انجام است. به مثال زیر توجه کنید:

function($a,$b){
  $c = $a + $b;
  return $c;
}

 بنابراین تمامی محاسبات منطقی، در داخل کنترلرها انجام می شوند.


 2. کنترلر لاراول 5 در کجا قرار دارد؟

در لاراول 5، کنترلرها در آدرس زیر قرار دارند: 

پوشه ی پروژه-->پوشه ی app-->پوشه ی Http-->پوشه ی Controllers

این موضوع در تصویر زیر نشان داده شده است:

 

 


 3.آشنایی با بهترین روش برای ایجاد کنترلر در لاراول

 در ویندوز، خط فرمان cmd را باز کنید. سپس با استفاده از آن، به پوشه ی پروژه ی لاراول خود بروید و دستور زیر را در آن وارد کنید. اما اگر از نرم افزار phpstorm استفاده می کنید، کلیدهای ctrl + shift + x را فشار دهید تا خط فرمان داخلی phpstorm باز شود. حالا دستور زیر را در آن وارد کنید:

php artisan make:controller firstcontroller

در دستور بالا، عبارت firstcontroller نشان دهنده ی نام کنترلر مورد نظر است. اما شما می توانید هر نام دلخواهی را برای این کنترلر تعیین کنید. پس از اجرای دستور بالا، خواهید دید که یک کنترلر جدید به نام firstcontroller.php در پوشه ی کنترلرهای شما ظاهر شده است. کدهای زیر در داخل این کنترلر قرار دارند: 

<?php
 namespace App\Http\Controllers;
 use Illuminate\Http\Request;
 class firstcontroller extends Controller
 {
    //
 }

 


4. ایجاد یک resource controller 

باید بدانید که کنترلرها و resource controllerها تقریبا مشابه با یکدیگر هستند. در بخش زیر با تفاوت این دو، آشنا خواهیم شد اما فعلا اجازه دهید تا با استفاده از دستور زیر، یک resource controller ایجاد کنیم. بنابراین دستور زیر را در داخل خط فرمان ویندوز، یا در خط فرمان نرم افزار phpstorm وارد کنید:

php artisan make:controller --resource secondcontroller

 همان طور که در دستور بالا مشاهده می کنید، برای ایجاد یک resource controller، از دو خط فاصله در کنار کلمه ی resource استفاده کرده ایم. پس اکنون دومین کنترلر ما به نام secondcontroller ایجاد شد. حالا فایل secondcontroller.php را که در داخل پوشه ی کنترلرها قرار دارد باز کنید. داریم:

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class secondcontroller extends Controller
{
    public function index()
    {
        //
    }
    public function create()
    {
        //
    }
    public function store(Request $request)
    {
        //
    }
    public function show($id)
    {
        //
    }
    public function edit($id)
    {
        //
    }
    public function update(Request $request, $id)
    {
        //
    }
    public function destroy($id)
    {
        //
    }
}

 همان طور که در resource controller بالا مشاهده می کنید، در داخل آن، توابع از پیش تعریف شده ای مثل create و update و show و edit و غیره وجود دارند. 


 5. تفاوت بین کنترلر و resource controller

همان طور که قبلا نیز مشاهده کردید،وقتی که یک کنترلر ایجاد می کنیم، کلاس این کنترلر خالی است؛ اما وقتی که یک resource controller ایجاد می کنیم، توابع از پیش تعریف شده ای مثل create و update و show و edit در داخل آن وجود دارند.