>  기사  >  PHP 프레임워크  >  Laravel 라우팅 구성 파일이란 무엇입니까?

Laravel 라우팅 구성 파일이란 무엇입니까?

PHPz
PHPz원래의
2023-04-21 11:21:54896검색

Laravel 라우팅 구성 파일이란 무엇입니까?

Laravel은 URL을 컨트롤러 메서드에 매핑할 수 있는 강력한 라우팅 시스템을 제공하는 인기 있는 PHP 개발 프레임워크입니다. Laravel의 라우팅 시스템을 사용하면 RESTful API와 웹 애플리케이션을 쉽게 생성할 수 있으며 다양한 HTTP 요청(GET, POST, PUT, DELETE 등)을 매우 간단한 방법으로 처리할 수 있습니다. Laravel에서 경로는 하나 이상의 대량 경로 정의로 구성되며, 이는 그룹화된 경로로 그룹화될 수도 있습니다. 이 문서에서는 Laravel 라우팅 구성 파일에 중점을 둘 것입니다.

Laravel에서는 경로를 경로 파일에서 직접 정의하거나 경로 구성 파일을 사용하여 정의할 수 있습니다. 그렇다면 라우팅 구성 파일이란 무엇입니까? 간단히 말해서, Laravel 라우팅 구성 파일은 라우팅 정의, 라우팅 그룹화 및 기타 정보를 포함하는 라우팅을 정의하는 PHP 파일입니다. 구성 파일에 경로 정의를 배치하면 컨트롤러 코드를 수정하지 않고 구성 파일만 수정하여 애플리케이션의 라우팅을 변경할 수 있습니다.

Laravel의 라우팅 구성 파일은 일반적으로 웹 애플리케이션과 API 애플리케이션의 라우팅 정의에 각각 해당하는 web.php 또는 api.php라는 파일 이름으로 /routes 디렉터리에 저장됩니다. 두 파일 모두에서 Laravel은 애플리케이션 경로 설계를 시작하는 데 직접 사용할 수 있는 몇 가지 샘플 코드를 제공합니다. 예를 들어 web.php 파일에는 샘플 경로가 포함되어 있습니다.

Route::get('/', function () { 
    return view('welcome');
});

이 경로는 URL이 "/"일 때 "welcome"이라는 뷰를 반환하는 GET 요청을 정의합니다. 마찬가지로, 예제 경로에 대한 정의는 api.php 파일에 제공됩니다. 예:

Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});

이 경로는 GET 요청을 정의합니다. URL이 "/user"인 경우 "auth:api" 미들웨어를 사용하여 사용자를 인증하고 현재 사용자 정보를 반환해야 합니다.

Laravel의 라우팅 구성 파일에서 라우팅 매크로 정의를 사용하여 라우팅 정의 코드를 단순화할 수 있습니다. 경로 매크로 정의를 사용하면 재사용 가능한 경로 템플릿을 만들고 이를 다른 경로에서 사용할 수 있습니다. 예를 들어, web.php 파일에 "dashboard"라는 매크로 정의를 정의할 수 있습니다:

Route::macro('dashboard', function () {
    Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard');
});

그런 다음 애플리케이션의 다른 곳에서 이 매크로 정의를 사용할 수 있습니다:

Route::middleware(['auth', 'verified'])->dashboard();

이 경로는 URL이 다음과 같은 경우 GET 요청을 정의합니다. "/dashboard"이고 "auth" 및 "verified" 미들웨어에 의해 확인되면 DashboardController 클래스의 인덱스 메서드를 호출하고 이름을 "dashboard"로 지정합니다.

Laravel의 라우팅 구성 파일은 라우팅 그룹 기능도 제공합니다. 경로 그룹화를 사용하면 라우팅 그룹 내의 경로 그룹에 대해 동일한 미들웨어, 명명된 접두사, 네임스페이스 및 기타 옵션을 정의할 수 있습니다. 예를 들어 web.php 파일에서 "admin"이라는 라우팅 그룹을 만들 수 있습니다.

Route::prefix('admin')->middleware(['auth'])->group(function () {
    Route::get('/', [AdminController::class, 'dashboard'])->name('admin.dashboard');
    Route::get('/users', [UserController::class, 'index'])->name('admin.users.index');
    Route::get('/users/{id}', [UserController::class, 'show'])->name('admin.users.show');
});

이 라우팅 그룹은 사용자를 인증하기 위해 "auth" 미들웨어를 사용해야 하는 라우팅 경로 접두사 "admin"을 정의합니다. 세 가지 하위 경로가 있습니다. URL이 "/admin"이면 AdminController 클래스에서 대시보드 메소드를 호출하고 이름을 "admin.dashboard"로 지정하고, URL이 "/admin/users"이면 UserController 클래스에서 인덱스 메소드를 호출하고 이름을 "admin"으로 지정합니다. " .users.index"; URL이 "/admin/users/{id}"인 경우 UserController 클래스의 show 메소드를 호출하고 이름을 "admin.users.show"로 지정합니다.

경로 그룹을 중첩하여 보다 세분화된 방식으로 경로를 구성할 수도 있습니다. 예를 들어 위 예의 "admin" 라우팅 그룹에 "settings"라는 하위 그룹을 생성할 수 있습니다.

Route::prefix('settings')->group(function () {
    Route::get('/', [SettingsController::class, 'index'])->name('admin.settings.index');
    Route::post('/', [SettingsController::class, 'update'])->name('admin.settings.update');
});

이 하위 그룹은 라우팅 경로 접두사 "settings"를 정의한 다음 두 개의 하위 경로인 GET 요청과 POST를 정의합니다. 각각 SettingsController 클래스의 index 및 update 메소드 호출을 요청하고 이름을 "admin.settings.index" 및 "admin.settings.update"로 지정합니다.

요약:

Laravel의 라우팅 구성 파일은 라우팅을 정의하는 PHP 파일입니다. 이는 일반적으로 /routes 디렉터리에 저장되며 web.php 또는 api.php라는 이름으로 웹 애플리케이션 및 API 애플리케이션의 라우팅 정의에 해당합니다. 각기.

라우트 파일에서 Laravel이 제공하는 라우트 매크로 정의를 사용하여 코드를 단순화할 수 있으며, 라우트 그룹화를 사용하여 동일한 미들웨어, 명명된 접두사, 네임스페이스 및 라우트 그룹에 대한 기타 옵션을 정의할 수 있습니다.

경로 그룹을 중첩하여 보다 세분화된 방식으로 경로를 구성할 수 있습니다.

위 내용은 Laravel 라우팅 구성 파일이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.