با عرض سلام خدمت کاربران عزیز سایت پی وی لرن و کاربرانی که دوره کامل آموزش لاراول را دنبال می کنند، امیدواریم تا به این لحظه از آموزش های ما بهره کافی را برده باشید، در این جلسه یکی از مهمترین مباحث لاراول که مسیریابی در لاراول می باشد را بررسی می کنیم، بسیاری از توابع کاربردی در هر نرمافزار تحت وب که با فریمورک نوشته میشود، دریافت درخواست از کاربر و ارسال پاسخ است که معمولا توسط پروتکلهای HTTP یا HTTPS صورت میپذیرد، این بدین معنی است که طراحی مسیرهایی که کاربر وارد آن میشود و درخواستی برای سرور ارسال میکند، اولین مقدمهی هر نرمافزار تحت وب است،در ادامه ی این جلسه به مبحث مسیریابی در لاراول خواهیم پرداخت ، در بحث مسیریابی در laravel موضوعاتی نظیر مسیریابی پایه و پارامترهای مسیر مطرح می شود که در این جلسه به این موضوعات نیز اشاره شده است.
در Laravel، همه درخواست ها با کمک مسیرها نقشه برداری می شوند، در ادامه به توضیحات مسیریابی در laravel می پردازیم.
مسیریابی پایه، مسیر درخواست را به کنترل کنندگان مرتبط می برد.
مسیریابی در laravel شامل مقوله های زیر است:
تمام مسیرهای برنامه در فایل app / routes.php ثبت می شوند.
این پرونده می گوید فریم ورک Laravel برای URI ها باید آن را به پاسخ، و کنترل همراه آن یک تماس خاص را به شما بدهد.
مسیر نمونه برای صفحه خوش آمد دیده می شود همانطور که در تصویر نشان داده شده است در زیر آورده شده.
1 2 | Route::get ('/', function () { return view('welcome');}); |
برای درک بیشتر در مورد مسیریابی، به مثال زیر مراجعه کنید.
1 2 3 4 | <?php Route::get('/', function () { return view('welcome'); }); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | <!DOCTYPE html> <html> <head> <title>Laravel</title> <link href = "https://fonts.googleapis.com/css?family=Lato:100" rel = "stylesheet" type = "text/css"> <style> html, body { height: 100%; } body { margin: 0; padding: 0; width: 100%; display: table; font-weight: 100; font-family: 'Lato'; } .container { text-align: center; display: table-cell; vertical-align: middle; } .content { text-align: center; display: inline-block; } .title { font-size: 96px; } </style> </head> <body> <div class = "container"> <div class = "content"> <div class = "title">Laravel 5.1</div> </div> </div> </body> </html> |
مکانیزم مسیریابی در تصویر زیر نشان داده شده است.
بگذارید اکنون ما مراحل مربوط به مکانیزم مسیریابی را دقیق تر درک کنیم.
مرحله ۱ : ابتدا باید ریشه آدرس برنامه را اجرا کنیم.
مرحله ۲ : در حال حاضر،URL اجرا کردن باید با روش مناسب در فایل route.php مطابقت داشته باشد. در مورد این مورد، باید با روش و آدرس root (‘/’) مطابقت داشته باشد.
این عملکرد مربوطه را اجرا می کند.
مرحله ۳ : این تابع فایل منابع قالب / views / welcome.blade.php را فراخوانی می کند.
بعد، تابع، نمایش تابع view () را با آرگومان “welcome” بدون blade.php نمایش می دهد.
این خروجی HTML را همانطور که در تصویر زیر نشان داده می شود تولید می کند.
گاهی اوقات در برنامه وب، ممکن است نیاز به گرفتن پارامترهای ارسال شده توسط URL داشته باشید. برای این، شما باید کد را در فایل routes.php تغییر دهید.
شما می توانید پارامترها را در فایل routes.php به دو صورت زیر در نظر بگیرید.
این پارامترها هستند که باید برای مسیریابی برنامه وب مورد نیاز باشد. برای مثال، مهم است که شماره شناسایی کاربر از URL را ضبط کنیم. این می تواند با تعیین پارامترهای مسیر به صورت زیر نشان داده شود.
1 2 3 | Route::get('ID/{id}',function($id) { echo 'ID: '.$id; }); |
گاهی اوقات توسعه دهندگان می توانند پارامترها را به عنوان اختیاری تولید کنند وآیا این کار امکان پذیر است؟ بعد از نام پارامتر در URL. مهم است که مقدار پیش فرض را به عنوان نام پارامتر ذکر کنید. به مثال زیر نگاه کنید که نشان می دهد چگونه یک پارامتر اختیاری تعریف می شود.
1 | Route::get('user/{name?}', function ($name = 'TutorialsPoint') { return $name;}); |
در مثال بالا، اگر مقدار با TutorialsPoint مطابقت داشته باشد، به این ترتیب به آدرس مشخص شده مسیر می رود.
مسیرهای نامگذاری شده، اجازه راه مناسب، برای ایجاد مسیرها را می دهند. زنجیره مسیرها را می توان با استفاده از روش نام بر روی تعریف مسیر مشخص کرد. کد زیر یک نمونه برای ایجاد مسیرهای نامشخص با کنترلر را نشان می دهد.
1 | Route::get('user/profile', 'UserController@showProfile')->name('profile'); |
کنترل کننده کاربر برای نمایش function showProfile با پارامتر به عنوان profile تماس می گیرد. پارامترها از روش نام بر روی تعریف مسیر استفاده می کنند.
از جمله اولین و مهمترین کارهایی که یک برنامهنویس لاراول باید انجام دهد، مسیریابی Routing در لاراول است. به کمک مسیریابی در لاراول برای مثال میتوان مشخص کرد که در صورت وارد کردن یک مسیر خاص، کدام صفحه برای کاربر نمایش داده شود.