آموزش Laravel

مسیردهی یا routing در لاراول

متدهای مسیردهی در لاراول

مسیردهی یا routing در لاراول، در این مطلب با متدهای پرکاربرد مدیریت مسیرها یا routing در فریم ورک لاراول آشنا خواهیم شد.

آشنایی با مسیردهی یا routing در لاراول

آشنایی با مسیردهی یا routing در لاراول

ابتدایی ترین مسیرهای لاراول یک URI و یک بسته را می پذیرند و یک روش بسیار ساده و گویا برای تعریف مسیرها بدون فایل های پیکربندی مسیریابی پیچیده ارائه می دهند.

				
					use Illuminate\Support\Facades\Route;
 
Route::get('/greeting', function () {
    return 'Hello World';
});
				
			

در لاراول، 6 متد برای مدیریت مسیرها وجود دارد که در ادامه با آنها آشنا می شویم.

انواع متدهای مسیردهی (Routing) در لاراول

6 متد مدیریت مسیرها در لاراول:

  • GET
  • POST
  • PUT
  • PATCH
  • DELETE
  • OPTIONS
				
					/*

GET - Request a resource
POST - Create a new resource
PUT - Update a resource
PATCH - Modify a resource
DELETE - Delete a resource
OPTIONS - ASK the server which verbs aree allowed

*/
				
			

 

متد مسیردهی GET در لاراول

از این متد برای مسیرهای مشخص استفاده می شود. یعنی ما دقیقا می دانیم چه چیزی از طریق URL مرورگر قرار هست ارسال شود.

				
					//GET
Route::get('/blog', [PostController::class, 'index']);
Route::get('/blog/1', [PostController::class, 'show']);
				
			

 

متد مسیردهی POST در لاراول

از این متد در زمانی که می خواهیم پردازش اطلاعات از چمله submit یک فرم به صورت امن انجام شود استفاده می کنیم.

به عنوان مثال در کدهای پایین، در روت create فرمی وجود دارد که با submit آن اطلاعات از طریق متد submit ارسال و در نهایت store یا ذخیره می شوند.

				
					//POST
Route::get('/blog/create', [PostController::class, 'create']);
Route::post('/blog', [PostController::class, 'store']);
				
			

 

متد مسیردهی PUT , PATCH در لاراول

تعریف این دو متد شبیه یکدیگر هست، ابتدا رکوردی رو به همراه شناسه یا “id” آن دریافت می کنیم و به متد “edit” ارسال می شوند.

در مرحله بعد درخواست به متد patch جهت بروزرسانی ارسال می شود.

				
					//PUROR PATCH
Route::get('/blog/edit/1', [PostController::class, 'edit']);
Route::patch('/blog/1', [PostController::class, 'update']);
				
			

 

متد مسیردهی DELETE در لاراول

از این متد همانطور که از نامش پیداست جهت حذف رکورد استفاده می کنیم.

در مثال زیر شماره 1 در مسیر blog به عنوان یک شناسه رکورد جهت حذف به متد “destroy” ارسال شده است.

				
					//DELETE
Route::delete('/blog/1', [PostController::class, 'destroy']);
				
			

تا اینجا با متدهای اصلی مدیریت روتینگ در فریم ورک لاراول آشنا شدیم. حالا ممکنه سوال پیش بیاد که آیا ما می تونیم روت یا مسیری داشته باشیم که همزمان در خواست “GET” و “POST” براش ارسال بشه؟!

بله، این روت ها رو Multiple می نامند.

 

متد روت Multiple, Match در لاراول

همانطور که در بالا گفتیم ما از طریق این نوع روت می تونیم با دریافت یک درخواست آن را به شکل GET و POST مدیریت کنیم.

				
					//Multiple HTTP Verbs
Route::match(['GET', 'POST'], '/blog',  [PostController::class, 'index']);
				
			

 

متد روت Any در لاراول

این روت نیز هرگونه درخواست GET یا POST ای را قبول خواهد کرد.

				
					Route::any('/blog', [PostController::class, 'index']);
				
			

 

متد روت View در لاراول

ما با ایتفاده از این روت متد یک فایل view را بازگشت می دهیم.

ما از طریق همین متد می توانیم داده هایی رو برای view ارسال کنیم.(خط کد 2)

				
					Route::view('/blog', 'blog.index');
Route::view('/blog', 'blog.index', ['name' => 'Payam Laravel']);
				
			

حالا برای دریافت داده ارسالی در فایل view به شکل زیر عمل می کنیم.

				
					{{ $name }}
				
			

برای تکمیل این مقاله “route model binding“را ادامه توضیح خواهم داد.

 route model binding در لاراول

در یک تعریف ساده استفاده مستقیم از یک Model در روت رو route model binding می گن.

مثال زیر رو ببینیم:

				
					Route::get('/listings/{id}', function ($id) {
    return view('listing', [
        'listing' => Listing::find($id)
    ]);
});
				
			

در این مثال ما یک شناسه یا “id” رو از روت دریافت  می کنیم و در صورت وجود اطلاعاتش رو برمی گردونیم. یک روشش سنتی که در PHP Pure هم بدین شکل استفاده می کرددیم.

حالا اگر بخوایم از “route model binding” استفاده کنیم قطعه کد ما به شکل زیر خواهد شد:

				
					Route::get('/listings/{listing}', function (Listing $listing) {
    return view('listing', [
        'listing' => $listing
    ]);
});
				
			

در اینجا ما خود model رو جایگزین id کردیم چون به هر حال مدل ایجاد شده به خودی خود شامل تمام اطلاعات جدولی که id ما در آن قرار داره و ما به دنبالش هستیم می باشد.

جمع بندی

در این مقاله سعی کردم توابع یا متدهای مسیردهی در فریم ورک لاراول توضیح بدم. امیدوارم این مطلب براتون مفید واقع شده باشه.

لطفا اگر نظر و پیشنهادی در خصوص مطالب و پیشبرد آنها دارید خوشحال میشم در قسمت دیدگاه ها مطرح بفرمایید.

 

آموزش های طراحی و برنامه نویسی وب

سایت رسمی لاراول

کاربرد HTML

 jQuery

جاوا اسکریپت در 1 ساعت

کاربرد CSS

آموزش ReactJS

صفر تا صد PHP

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *