0Pricing
PHP Academy · บทเรียน

การกำหนดเส้นทางใน Laravel

ลงทะเบียนเส้นทาง GET, POST และเส้นทางทรัพยากรใน web.php และ api.php

การกำหนดเส้นทางใน Laravel เป็นบทเรียน PHP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน PHP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน

เส้นทางพื้นฐาน

กำหนดเส้นทาง GET ที่คืนค่าการตอบกลับเป็นสตริง

<?php
use Illuminate\Support\Facades\Route;

Route::get("/hello", function () {
    return "Hello, Laravel!";
});

เมธอดกริยา HTTP

Laravel มีเมธอดเส้นทาง get, post, put, patch, delete, options ให้ใช้

<?php
Route::post("/users", [UserController::class, "store"]);
Route::put("/users/{id}", [UserController::class, "update"]);
Route::delete("/users/{id}", [UserController::class, "destroy"]);

พารามิเตอร์เส้นทาง

จับส่วนต่าง ๆ ของ URI ด้วย {param} ส่วนที่ไม่บังคับใช้ {param?}

<?php
Route::get("/users/{id}", function (int $id) {
    return "User ID: $id";
});
// Optional:
Route::get("/posts/{slug?}", function (?string $slug = null) { });

เส้นทางที่มีชื่อ

ตั้งชื่อให้เส้นทางเพื่อใช้ในการเปลี่ยนเส้นทางและสร้าง URL

<?php
Route::get("/dashboard", [DashboardController::class, "index"])->name("dashboard");

// Elsewhere:
return redirect()->route("dashboard");
$url = route("dashboard");

กลุ่มเส้นทาง

จัดกลุ่มเส้นทางที่ใช้มิดเดิลแวร์ คำนำหน้า หรือเนมสเปซร่วมกัน

<?php
Route::middleware("auth")->prefix("admin")->group(function () {
    Route::get("/dashboard", [AdminController::class, "index"]);
    Route::get("/users",     [AdminController::class, "users"]);
});

เส้นทางทรัพยากร

Route::resource() จะลงทะเบียนเส้นทาง RESTful 7 รายการ (รายการ สร้าง จัดเก็บ แสดง แก้ไข อัปเดต และทำลาย) สำหรับคอนโทรลเลอร์ด้วยโค้ดเพียงบรรทัดเดียว

<?php
Route::resource("posts", PostController::class);
// GET /posts, GET /posts/create, POST /posts, GET /posts/{post}
// GET /posts/{post}/edit, PUT/PATCH /posts/{post}, DELETE /posts/{post}

เส้นทางทรัพยากร API

Route::apiResource() จะลงทะเบียนเส้นทาง 5 รายการ (ข้ามการสร้างและการแก้ไข ซึ่งคืนค่าเป็นแบบฟอร์ม)

<?php
Route::apiResource("users", UserController::class);

การผูกโมเดลกับเส้นทาง

ระบุชนิดของโมเดลในคลอสเชอร์ของเส้นทางหรือเมธอดของคอนโทรลเลอร์ด้วยคำใบ้ชนิดข้อมูล — Laravel จะดึงโมเดลโดยใช้คีย์หลักโดยอัตโนมัติ

<?php
Route::get("/users/{user}", function (User $user) {
    return $user; // Laravel fetches User::findOrFail($user)
});

ข้อจำกัดของเส้นทาง

จำกัดรูปแบบพารามิเตอร์เส้นทางด้วยนิพจน์ปกติ

<?php
Route::get("/users/{id}", handler)->where("id", "[0-9]+");
Route::get("/users/{slug}", handler)->where("slug", "[a-z-]+");

any() และ match()

Route::any() ตอบสนองต่อคำกริยา HTTP ใดก็ได้ ส่วน Route::match() ตอบสนองต่อรายการคำกริยาที่กำหนด

<?php
Route::match(["get", "post"], "/contact", ContactController::class);

การดูเส้นทางที่ลงทะเบียน

แสดงรายการเส้นทางที่ลงทะเบียนทั้งหมด พร้อมเมธอด ชื่อ และการดำเนินการ

$ php artisan route:list

สรุป

เส้นทางของ Laravel อยู่ใน routes/web.php และ routes/api.php ใช้เส้นทางทรัพยากรสำหรับ CRUD ใช้การผูกโมเดลกับเส้นทางเพื่อแทรกโมเดลโดยอัตโนมัติ และใช้เส้นทางที่มีชื่อสำหรับสร้าง URL

ตรวจสอบความเข้าใจ

คำสั่งใดลงทะเบียนเส้นทาง RESTful ทั้ง 7 เส้นทางได้ในครั้งเดียว

คำถามที่พบบ่อย

บทเรียน “การกำหนดเส้นทางใน Laravel” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การกำหนดเส้นทางใน Laravel” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส PHP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การกำหนดเส้นทางใน Laravel”

ลงทะเบียนเส้นทาง GET, POST และเส้นทางทรัพยากรใน web.php และ api.php คุณปฏิบัติ PHP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน PHP Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน PHP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “การกำหนดเส้นทางใน Laravel” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน PHP Academy นี้ได้ไหม

ได้ บทเรียน PHP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. โครงสร้างโครงการ Laravel
  2. การกำหนดเส้นทางใน Laravel
  3. คอนโทรลเลอร์และการดำเนินการ
  4. เทมเพลตและมุมมอง Blade
← กลับไปที่ PHP Academy