Dev to webs {Coding…}

เรียนรู้การพัฒนาซอฟเวอร์ เพื่อความรู้ที่ยั่งยืน

บทที่ 8: การสร้างและกำหนด Routing เบื้องต้นใน Laravel

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

  1. 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

  1. เส้นทางสำหรับแสดง 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 ที่มีความยืดหยุ่นและเหมาะสมกับการทำงานต่างๆ ได้มากขึ้น