بریم برای شروع

آزمون برنامه نویسی با لاراول -مسیریابی (Routing)

تعداد سوال 20
قیمت رایگانــ
زمانسنج ندارد
رده‌سنی همه سنین
وضعیت فعال
نظرات ندارد

مسیریابی، در هر اپلیکیشن Laravel ،به درخواست‌های کاربران، مسیر درست را نشان می‌دهد. اگر بخواهیم ساده بگوییم، مسیریابی مانند یک نقشه‌خوان دقیق عمل می‌کند و هر درخواست ورودی (HTTP request) را به کنترلر یا تابع مناسب می‌رساند.


پارامترهای Route: اجباری و اختیاری

در بسیاری از مواقع، نیاز دارید که اطلاعاتی را از آدرس URL به برنامه خود منتقل کنید. مثلاً، وقتی کاربر روی یک محصول کلیک می‌کند، شناسه (ID) آن محصول باید به کنترلر مربوطه ارسال شود تا اطلاعات محصول نمایش داده شود. اینجاست که پای پارامترهای Route به میان می‌آید. این پارامترها به دو دسته اصلی تقسیم می‌شوند: اجباری و اختیاری.

برای اینکه بهتر این موضوع رو درک کنید، این آزمون آنلاین با دقت و وسواس زیاد، برای سنجش سطح دانش شما در این زمینه طراحی شده. این یک محتوای اختصاصی برای سایت ذهنی باز است و هیچ جای دیگه نمی‌تونید مشابهش رو پیدا کنید. پس با تمرکز به ادامه مطلب توجه کنید.


پارامترهای اجباری (Required Parameters)

پارامترهای اجباری، همان‌طور که از اسمشان پیداست، باید در URL وجود داشته باشند. اگر کاربر این پارامتر را در آدرس وارد نکند، با خطای ۴۰۴ (Not Found) مواجه خواهد شد. این پارامترها با استفاده از آکولاد {} در تعریف Route مشخص می‌شوند.

Route::get('posts/{id}', function (string $id) {
    return 'Post ID: ' . $id;
});

در مثال بالا، {id} یک پارامتر اجباری است. اگر آدرس /posts/123 را فراخوانی کنید، مقدار 123 به عنوان id به تابع ارسال می‌شود. اما اگر فقط آدرس /posts را وارد کنید، خطا دریافت خواهید کرد. نکته مهم این است که Laravel به صورت خودکار، مقدار Parameter را به تابع یا Controller مربوطه تزریق می‌کند.


پارامترهای اختیاری (Optional Parameters)

گاهی اوقات، نیازی نیست که یک پارامتر همیشه در آدرس وجود داشته باشد. برای مثال، ممکن است بخواهید یک صفحه فیلتر شده را نمایش دهید، اما فیلتر کردن اختیاری باشد. در این حالت، پارامترهای اختیاری به کار می‌آیند. این پارامترها با اضافه کردن یک علامت سؤال ? به انتهای نام پارامتر در داخل آکولاد مشخص می‌شوند.

Route::get('users/{name?}', function (?string $name = 'Guest') {
    return 'Welcome, ' . $name;
});

در این نمونه، {name?} یک پارامتر اختیاری است. اگر آدرس /users/ali را وارد کنید، خروجی Welcome, ali خواهد بود. اما اگر فقط /users را فراخوانی کنید، به دلیل اینکه مقدار پیش‌فرض Guest تعریف شده است، خروجی Welcome, Guest خواهد بود. در صورتی که مقدار پیش‌فرض نداشته باشید، می‌توانید از null استفاده کنید.


مقایسه پارامترهای Route: یک نگاه جامع

برای درک عمیق‌تر تفاوت‌ها، به این جدول مقایسه دقت کنید:

ویژگی پارامتر اجباری پارامتر اختیاری
نحوه تعریف {name} {name?}
الزام در URL باید وجود داشته باشد. اختیاری است.
نتیجه عدم وجود خطای 404 (Not Found) تابع اجرا می‌شود، با مقدار پیش‌فرض یا null.
کاربرد اصلی شناسایی منابع خاص (مثل محصولات، مقالات) فیلترینگ، صفحات چندگانه با یک Route

به یاد داشته باشید، استفاده از پارامترهای اختیاری در Routeهای شما، انعطاف‌پذیری زیادی به برنامه‌تان می‌دهد. اما همیشه سعی کنید نام پارامترها گویا باشد تا کد خواناتر و قابل نگهدام‌تر باشد.


نکات کلیدی و راهنمایی‌های عملی

  • ترتیب پارامترها: همیشه پارامترهای اختیاری را پس از پارامترهای اجباری قرار دهید. Laravel نمی‌تواند بین دو پارامتر اختیاری، یک پارامتر اجباری را تشخیص دهد.
  • تعریف نوع داده (Type Hinting): در PHP 8 به بعد می‌توانید نوع پارامترها را مشخص کنید. این کار به Laravel کمک می‌کند تا داده‌ها را به درستی Validate کند.
  • استفاده از عبارت منظم (Regular Expressions): می‌توانید با استفاده از متد where() برای پارامترها محدودیت‌هایی تعیین کنید. مثلاً:
Route::get('users/{id}', function (string $id) {
    // ...
})->where('id', '[0-9]+');

این کد تضمین می‌کند که id فقط شامل اعداد باشد. این یک روش عالی برای جلوگیری از ورودی‌های نامعتبر است و به امنیت برنامه شما کمک می‌کند. امیدواریم با این آموزش کوتاه و پرمحتوا، مسیر جدیدی در برنامه‌نویسی Laravel برای شما باز شده باشد. سفر ادامه دارد...

تعداد سوال 20
قیمت رایگانــ
زمانسنج ندارد
رده‌سنی همه سنین
وضعیت فعال
نظرات ندارد
آزمون برنامه نویسی با لاراول -مسیرهای Regex

آزمون برنامه نویسی با لاراول -مسیرهای Regex

دنیای Laravel، دنیای سادگی و قدرت است. اما گاهی اوقات، برای رسیدن به انعطاف‌پذیری کامل در تعریف مسیرها...

آزمون برنامه نویسی با لاراول -مسیریابی (Routing)

آزمون برنامه نویسی با لاراول -مسیریابی (Routing)

مسیریابی، در هر اپلیکیشن Laravel ،به درخواست‌های کاربران، مسیر درست را نشان می‌دهد. اگر بخواهیم ساده بگوییم، مسیریابی مانند...

آزمون برنامه نویسی با لاراول -مسیریابی یا Routing

آزمون برنامه نویسی با لاراول -مسیریابی یا Routing

مسیریابی در لاراول مسیریابی یا Routing در فریم‌ورک Laravel، قلب تپنده هر اپلیکیشن وب است. این سیستم قدرتمند،...

آزمون برنامه نویسی با لاراول -Contracts

آزمون برنامه نویسی با لاراول -Contracts

Contracts در لاراول در اکوسیستم وسیع و پویاي فريم‌ورک لاراول، مفاهیم متعددی وجود دارند که به کدنویسی تمیزتر،...

آزمون زبان عربی - اسماء خمسه

آزمون زبان عربی - اسماء خمسه

آشنایی با اسماء خمسه در زبان عربی اسماء خمسه یکی از مهم‌ترین مباحث صرفی و دستوری در زبان...

آزمون گرامر انگلیسی - زمان (آینده کامل استمراری)

آزمون گرامر انگلیسی - زمان (آینده کامل استمراری)

زمان آینده کامل استمراری (Future Perfect Continuous) برای صحبت در مورد عملی استفاده می‌شود که در آینده برای...

آزمون زبان ترکی استانبولی - زمان گذشته استمراری Şimdiki Zamanın Hikayesi

آزمون زبان ترکی استانبولی - زمان گذشته استمراری Şimdiki Zamanın Hikayesi

زبان ترکی استانبولی با ساختار منظم و منطقی خودش، یادگیری از زبان رو برای علاقه‌مندان به ترکی استانبولی...

آزمون زبان ترکی استانبولی - پسوند مفعولی باواسطه (-den/-dan)

آزمون زبان ترکی استانبولی - پسوند مفعولی باواسطه (-den/-dan)

یکی از ظریف‌ترین و کاربردی‌ترین پسوندهای زبان ترکی استانبولی، پسوند مفعولی باواسطه (-den/-dan) است که نقش «از» را...