Laravel에서 경로 정의하기
web.php와 api.php에 GET, POST 및 리소스 경로를 등록합니다.
Laravel에서 경로 정의하기은(는) CoddyKit의 무료 PHP Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 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"]);라우트 매개변수
{param}을 사용하여 URI 세그먼트를 캡처합니다. 선택적 세그먼트에는 {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()는 한 줄로 컨트롤러에 대한 REST 방식 라우트 7개(index, create, store, show, edit, update, destroy)를 등록합니다.
<?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()는 폼을 반환하는 create와 edit를 제외한 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에서 경로 정의하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 PHP Academy 강의 전체를 잠금 해제할 수 있습니다. PHP Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“Laravel에서 경로 정의하기”에서 뭘 배우나요?
web.php와 api.php에 GET, POST 및 리소스 경로를 등록합니다. 브라우저에서 직접 실행하는 실습 코드로 PHP Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
PHP Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 PHP Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“Laravel에서 경로 정의하기” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 PHP Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 PHP Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- Laravel 프로젝트 구조
- Laravel에서 경로 정의하기
- 컨트롤러 및 동작
- Blade 템플릿 및 뷰