إنشاء 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 الاختياري يحتاج علامة ? وقيمة افتراضية للمتغير المقابل له