Route Parameters คือค่าที่เราสามารถแนบไปกับเส้นทาง (Route) เพื่อส่งข้อมูลที่จำเป็นไปยัง Controller หรือการดำเนินการอื่นๆ ผ่าน URL ตัวอย่างเช่น การระบุ ID ของผู้ใช้งาน หรือชื่อผลิตภัณฑ์ เพื่อดึงข้อมูลที่ตรงตามพารามิเตอร์นั้นๆ Route Parameters ใน Laravel สามารถแบ่งเป็น 2 ประเภทหลัก คือ Required Parameters (พารามิเตอร์ที่จำเป็น) และ Optional Parameters (พารามิเตอร์ที่ไม่จำเป็น)
การใช้งาน Route Parameters
1. Required Parameters
พารามิเตอร์ที่จำเป็นต้องระบุใน URL ไม่เช่นนั้นระบบจะไม่สามารถเข้าถึงเส้นทางได้ ตัวอย่างการใช้งาน Required Parameters:
Route::get('/user/{id}', function ($id) {
return 'User ID: ' . $id;
});
ในตัวอย่างนี้ ถ้าเข้าถึง URL http://localhost:8000/user/10
จะเห็นข้อความว่า User ID: 10
โดย 10
คือพารามิเตอร์ที่ส่งไปกับเส้นทางนี้ และ Laravel จะรับค่า id
ผ่านฟังก์ชันและส่งออกเป็นข้อความตอบกลับ
2. Optional Parameters
Optional Parameters คือพารามิเตอร์ที่ไม่จำเป็นต้องระบุใน URL ถ้าไม่มีค่าพารามิเตอร์ Laravel จะใช้ค่าเริ่มต้นที่กำหนดไว้แทน ตัวอย่างการใช้งาน Optional Parameters:
Route::get('/product/{name?}', function ($name = 'Unknown') {
return 'Product Name: ' . $name;
});
ในตัวอย่างนี้ หากเข้า URL http://localhost:8000/product/Laptop
จะเห็นข้อความ Product Name: Laptop
แต่ถ้าเข้าถึง URL http://localhost:8000/product
จะเห็นข้อความ Product Name: Unknown
การใช้งาน Route Parameters หลายค่า
Laravel รองรับการส่งพารามิเตอร์หลายค่าในเส้นทางเดียว ตัวอย่างเช่น:
Route::get('/order/{orderId}/product/{productId}', function ($orderId, $productId) {
return 'Order ID: ' . $orderId . ', Product ID: ' . $productId;
});
ในตัวอย่างนี้ หากเข้า URL http://localhost:8000/order/123/product/456
ระบบจะแสดงผล Order ID: 123, Product ID: 456
ตัวอย่างการใช้งาน Route Parameters
- Required Parameter:
Route::get('/post/{id}', function ($id) {
return 'Post ID: ' . $id;
});
2. Optional Parameter:
Route::get('/category/{name?}', function ($name = 'General') {
return 'Category: ' . $name;
});
3. Multiple Parameters:
Route::get('/user/{userId}/profile/{profileId}', function ($userId, $profileId) {
return 'User ID: ' . $userId . ', Profile ID: ' . $profileId;
});
การนำไปใช้งาน
การใช้งาน Route Parameters มีประโยชน์อย่างยิ่งในกรณีที่ต้องการระบุข้อมูลเฉพาะเจาะจง เช่น ข้อมูลผู้ใช้งาน ผลิตภัณฑ์ บทความ หรือข้อมูลใดๆ ที่อ้างอิงตาม ID หรือชื่อ โดยสามารถใช้ค่าเหล่านี้ใน Controller เพื่อตรวจสอบและประมวลผลข้อมูลจากฐานข้อมูลได้สะดวก