Routing หรือการกำหนดเส้นทางเป็นส่วนสำคัญในการทำงานของ Laravel โดยทำหน้าที่กำหนดว่าคำขอแต่ละประเภทจากผู้ใช้ (URL ที่ผู้ใช้เข้าถึง) จะส่งไปที่ Controller หรือ View ใด บทนี้จะช่วยให้เข้าใจการสร้างและกำหนดเส้นทางใน Laravel เบื้องต้น พร้อมตัวอย่างโค้ดและการนำไปใช้งาน
การสร้างและกำหนด Routing เบื้องต้น
ใน Laravel การกำหนดเส้นทางจะอยู่ในไฟล์ routes/web.php
สำหรับการกำหนดเส้นทางที่เกี่ยวข้องกับเว็บแอปพลิเคชัน และ routes/api.php
สำหรับเส้นทางที่เกี่ยวกับ API ซึ่งจะมีรูปแบบคำสั่งที่ใช้กำหนดเส้นทางดังนี้:
Route::get('เส้นทาง', 'การกระทำ');
ตัวอย่าง:
Route::get('/welcome', function () {
return view('welcome');
});
ในตัวอย่างข้างต้น เมื่อลูกค้าเข้าไปที่ http://localhost:8000/welcome
จะได้รับการตอบสนองจาก view('welcome')
ซึ่งคือการแสดงผลจากไฟล์ welcome.blade.php
รูปแบบเส้นทางที่ใช้บ่อยใน Laravel
- Route::get – กำหนดเส้นทางสำหรับคำขอ
GET
(ดึงข้อมูล)
Route::get('/home', function () {
return view('home');
});
2.Route::post – กำหนดเส้นทางสำหรับคำขอ POST
(ส่งข้อมูล)
Route::post('/submit', function () {
return 'Form Submitted';
});
3.Route::put – กำหนดเส้นทางสำหรับคำขอ PUT
(อัปเดตข้อมูล)
Route::put('/update/{id}', function ($id) {
return 'Updated ' . $id;
});
4.Route::delete – กำหนดเส้นทางสำหรับคำขอ DELETE
(ลบข้อมูล)
Route::delete('/delete/{id}', function ($id) {
return 'Deleted ' . $id;
});
5.Route::any – กำหนดเส้นทางที่ยอมรับทุกคำขอ ไม่ว่าจะเป็น GET, POST, PUT หรือ DELETE
Route::any('/any', function () {
return 'Any Request';
});
การใช้พารามิเตอร์ใน Routing
พารามิเตอร์คือค่าที่สามารถส่งไปพร้อมกับเส้นทางได้ โดยใน Laravel สามารถกำหนดพารามิเตอร์ในเส้นทางได้ดังนี้:
Route::get('/user/{id}', function ($id) {
return 'User ID: ' . $id;
});
หากผู้ใช้เข้าถึง URL http://localhost:8000/user/10
จะเห็นข้อความว่า User ID: 10
ตัวอย่างการใช้งาน Routing
- เส้นทางสำหรับแสดง View
Route::get('/welcome', function () {
return view('welcome');
});
2. เส้นทางที่มีพารามิเตอร์
Route::get('/product/{name}', function ($name) {
return 'Product Name: ' . $name;
});
3. เส้นทางสำหรับรับ POST Request
Route::post('/submit', function () {
return 'Form Submitted';
});
การนำไปใช้งาน
Routing เป็นการกำหนดทางที่ช่วยให้ Laravel เข้าใจว่าคำขอที่เข้ามาต้องถูกส่งไปยัง View, Controller หรือการกระทำใด ซึ่งช่วยจัดการเส้นทางในแอปพลิเคชันได้อย่างเป็นระบบ นอกจากนี้ Routing ใน Laravel ยังรองรับการใช้พารามิเตอร์ใน URL ทำให้สามารถสร้าง URL ที่มีความยืดหยุ่นและเหมาะสมกับการทำงานต่างๆ ได้มากขึ้น