การกำหนดเส้นทางใน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- โครงสร้างโครงการ Laravel
- การกำหนดเส้นทางใน Laravel
- คอนโทรลเลอร์และการดำเนินการ
- เทมเพลตและมุมมอง Blade