Laravel은 사용하기 쉬운 라우팅 시스템을 제공하는 인기 있는 PHP 프레임워크입니다. Laravel의 라우팅 시스템을 사용하면 다양한 URI 및 HTTP 요청에 대한 메소드를 정의할 수 있습니다. 이번 글에서는 Laravel의 라우팅 구현에 대해 살펴보겠습니다.
Laravel의 기본 라우팅 정의는 매우 간단합니다. Route 클래스의 get, post, put, delete 및 기타 메소드를 사용하여 경로를 정의할 수 있습니다.
예를 들어 기본 GET 경로를 정의할 수 있습니다:
Route::get('/hello', function () { return 'Hello, Laravel!'; });
위 경로는 "Hello, Laravel!"이라는 문자열을 반환하는 /hello URI를 사용하여 GET 요청 경로를 정의합니다.
실제 애플리케이션에서는 경로에 매개변수가 있을 수 있습니다. Laravel의 라우팅 시스템을 사용하면 이러한 매개변수를 정의할 수 있습니다. {param} 구문을 사용하여 경로에서 매개변수를 정의할 수 있습니다. 여기서 param은 매개변수 이름입니다.
예를 들어 매개변수를 허용하는 경로를 정의할 수 있습니다.
Route::get('/user/{id}', function ($id) { return 'User ID: ' . $id; });
위 경로는 id 매개변수를 허용하는 GET 요청 경로를 정의합니다. 콜백 함수에서 $id 변수를 사용하여 전달된 매개변수를 가져와서 브라우저에 반환할 수 있습니다.
Laravel 라우팅 시스템을 사용하면 선택적 라우팅 매개변수를 정의할 수 있습니다. 매개변수를 선택사항으로 표시하려면 매개변수 이름 뒤에 ?를 추가하기만 하면 됩니다.
예를 들어 선택적 매개변수를 사용하여 경로를 정의할 수 있습니다.
Route::get('/user/{id}/{name?}', function ($id, $name = null) { if ($name) { return 'User ID: ' . $id . ', Name: ' . $name; } else { return 'User ID: ' . $id; } });
위 경로는 id 및 선택적 이름 매개변수를 허용하는 GET 요청 경로를 정의합니다. 콜백 함수에서 $name이 존재하는지 확인합니다. 존재하는 경우 ID와 이름을 함께 반환합니다. 그렇지 않으면 id 매개변수만 반환됩니다.
때로는 경로 매개 변수가 특정 규칙을 준수하는지 확인하기 위해 정규식 제약 조건을 적용해야 할 수도 있습니다. Laravel에서는 정규식을 사용하여 이를 수행할 수 있습니다.
예를 들어 정규식 제약 조건을 사용하여 경로를 정의할 수 있습니다.
Route::get('/user/{id}/{name}', function ($id, $name) { return 'User ID: ' . $id . ', Name: ' . $name; })->where(['id' => '[0-9]+', 'name' => '[a-zA-Z]+']);
위 경로는 id 및 name 매개 변수를 사용하여 GET 요청 경로를 정의합니다. 콜백 함수에서는 이 두 매개변수를 함께 반환합니다. 경로를 정의할 때 where 메소드를 사용하여 id 매개변수가 [0-9]+정규식과 일치해야 하고, name 매개변수가 [a-zA-Z]+정규식과 일치해야 함을 지정합니다.
Laravel에서는 경로의 이름을 정의할 수 있어 URL 정의가 더 쉬워집니다.
예를 들어 명명된 경로를 정의할 수 있습니다.
Route::get('/user/profile', function () { return 'User Profile'; })->name('profile');
위 경로는 GET 요청 경로를 정의하고 이름을 profile로 지정합니다. 경로를 정의할 때 name 메서드를 사용하여 이름을 지정합니다. 이제 코드에서 이 이름을 사용하여 URL을 생성할 수 있습니다.
Laravel의 URL 생성기를 사용하면 애플리케이션의 URL을 쉽게 생성할 수 있습니다. 경로 기능을 사용하여 경로의 URL을 생성할 수 있습니다.
예를 들어, 위의 이름이 지정된 경로를 사용하여 URL을 생성할 수 있습니다.
$url = route('profile');
위 코드는 /profile을 가리키는 URL을 생성합니다.
Laravel에서는 클로저 콜백 함수를 직접 지정하는 대신 컨트롤러 메서드에 대한 경로를 지정할 수도 있습니다. 이렇게 하면 컨트롤러에서 요청을 중앙에서 처리할 수 있습니다.
예를 들어 컨트롤러 경로를 정의할 수 있습니다.
Route::get('/user/{id}', 'UserController@show');
위 경로는 /id 매개변수가 UserController 컨트롤러의 show 메서드를 가리키는 GET 요청 경로를 정의합니다.
RESTful 라우팅을 사용하면 애플리케이션에 대한 RESTful API 엔드포인트를 정의할 수 있습니다. Laravel에서는 Route 클래스의 리소스 메소드를 사용하여 RESTful 경로를 정의할 수 있습니다.
예를 들어 RESTful 경로를 정의할 수 있습니다.
Route::resource('photos', 'PhotoController');
위 코드는 index, create, store, show, edit, update 및 destroy 메소드를 포함한 기본 RESTful 경로를 제공합니다. 이러한 메서드는 PhotoController 컨트롤러에서 요청을 처리하는 데 사용됩니다.
Summary
이 글에서는 Laravel의 라우팅에 대한 기본 사항을 다룹니다. 기본 라우팅, 라우팅 매개변수, 선택적 매개변수, 정규식 제약 조건, 명명된 라우팅, URL 생성기, 컨트롤러 라우팅 및 RESTful 라우팅에 대해 배웠습니다. Laravel의 라우팅 시스템은 매우 강력하며 다양한 요청을 쉽게 처리합니다.
위 내용은 Laravel 라우팅을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!