حسن عسکری
حسن عسکری
خواندن ۱ دقیقه·۱ سال پیش

تفاوت سینتکس های مختلف لاراول اههم از قدیمی به جدید

بخش اول : روت ها

Route::get('/about', 'PageController@showAbout');

این مدل در نسخه لاراول ۱۰ منسوخ شده البته همچنان تو لومن ۱۰ استفاده میشه

###################################################################

A. روش اول Route::get/post('/signup', [SignupController::class, 'index'])->name('signup'); ‌B. روش دوم laravel 5.1 در این نسخه ریسورس وارد لاراول شد Route::resource('/signup', 'SignupController', ['only' => ['index', 'store']]); laravel 5.2 از این نسخه تا نسخه ۸ Route::resource('/signup', 'SignupController')->only(['index', 'store']); laravel 8,9,10 Route::resource('/signup', SignupController::class)->only(['index', 'store']);


فواید روش اول :

  1. میتونید هر نامی که دوس داشتید بهش بدید
  2. معمولا واسه مسیر های ساده استفاده میشه
  3. برا پروژهای کوچیک که نیازی به استفاده از تمام متد های CRUD ندارید مناسبه

فواید روش دوم:

۱.در این روش خودش به صورت خودکار بهش نام میده و تو ویو ازش میشه استفاده کرد {{Route('signup.store')}} البته از جهت اینکه خودتون نام بدید بهش محدود هستید

۲.در این روش شما با یک روت به چندین روت دسترسی دارید و بهش CRUD (create,read,update,delete)میگن
و میتونید از همه این متد ها استفاده کنید

  • index
  • create
  • store
  • show
  • edit
  • update
  • destroy

۳.کد تمیز تر و خوانا تری داره

نکته ۱ : only(['index', 'store']) در کد بالا به معنای این است که فقط از این دو متد استفاده کن و بقیه متد ها غیر فعال باشه .وقتی از متد های دیگش استفاده نمیکنید بهتره غیر فعال باشن وگرنه ممکنه با مشکلات امنیتی مثل (csrf) رو به رو بشید.

نکته ۲ : اگه خواستید از همه متد ها بجز یکی یا تعداد کمتر استفاده کنید میتونید از except(['create', 'edit'])
استفاده کنید اینجا میگه همه رو فعال بزار و قابل استفاده بجز این دو مورد .میگه این دوتا رو غیر فعال کن

لاراولresourcerouterروتبرنامه نویسی
شاید از این پست‌ها خوشتان بیاید