Theme
Primary Color

إنشاء Parameter اختياري داخل ال Route

كيف تجعل جزءا من الرابط اختياريا مع تحديد قيمة افتراضية له عند عدم كتابته

إذا كان لديك Route يعرض رسالة ترحيب باسم الشخص الموجود في الرابط يمكنك كتابته بهذا الشكل

Route::get('/welcome/{name}', function (string $name) {
  return 'Welcome ' . e($name);
});

الآن إذا دخل الشخص إلى الرابط /welcome/Osama ستظهر له الرسالة التالية

Welcome Osama

ولكن إذا دخل إلى /welcome فلن يطابق هذا الـ Route لأن ال Parameter المسمى name مطلوب

لجعله اختياريا سنضيف علامة ? بعد اسمه

'/welcome/{name?}'

ثم نحدد قيمة افتراضية للمتغير حتى يتم استخدامها إذا لم يكتب الشخص اسما في الرابط

function (string $name = 'Guest') {
  return 'Welcome ' . e($name);
}

وهنا الـ Code كاملا

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

الآن عند الدخول إلى /welcome/Osama ستظهر رسالة Welcome Osama و عند الدخول إلى /welcome ستظهر رسالة Welcome Guest

استخدمنا e() لحماية النص المعروض من احتواء الاسم على HTML يتم تفسيره داخل الصفحة

الـ Parameter الاختياري يحتاج علامة ? وقيمة افتراضية للمتغير المقابل له

laravel learn لارافيل