Route در لاراول هر درخواستی را به یک controller هدایت می کند. تمامی route ها در مسیر routes/web.php ذخیره و مشخص می شوند. به عنوان نمونه route پیشفرضی که بعد از نصب لاراول مشاهده می کنید به ریشه دامنه که همان / است اشاره می کند و این route در جواب درخواست کاربر صفحه welcome را که همان فایل welcome.blade.php است را باز می کند. که این صفحه هم در مسیر view قرار دارد.
Route::get ('/', function () {
return view('welcome');});
ارسال و دریافت متغیرها در Routing
خوب این از بدیهیات است که بخواهید با استفاده از routing یا به عبارتی با استفاده از URL اقدام به ارسال متغیرها کنید. این کار در لاراول بسیار ساده است. اجازه دهید با استفاده از یک مثال ساده موضوع را توضیح دهیم. در مثال زیر ما مقدار id را به یک url ارسال کرده و اقدام به چاپ آن در صفحه می کنیم.
Route::get('user/{id}',function($id){
echo"user ID: ".$id;
});

همانطور که در تصویر بالا مشاهده می کنید ما مقدار 12 را از طریق آدرس ارسال کرده ایم و همان مقدار را در صفحه نمایش می دهیم. حال سوال اینجاست که اگر مقدار 12 را ارسال نمی کردیم چه اتفاقی می افتاد؟ در این صورت با ارور not found مواجه می شدید. برای این که با این ارور مواجه نشوید کد را به این شکل اصلاح می کنیم.
Route::get('user/{id?}',function($id='20'){
echo"user ID: ".$id;
});
در صورتی که مقدار id تعریف نشده باشد مقدار پیش فرض 20 را چاپ خواهد کرد.
نامگذاری route ها در لاراول
خوب برای سهولت کار می توانید برای route مورد نظر اسم بگذارید. به این شکل که در مواقع نیاز مثلا وقتی در action یک فرم می خواهید route مورد نظر را فراخوانی کنید کافی است فقط به اسم تعریف شده route اشاره کنید.
Route::get('user/profile', 'UserController@showProfile')->name('profile');