Laravel 프레임 워크에서 라우팅 그룹화는 여러 관련 경로를 결합하고 미들웨어 또는 네임 스페이스의 적용을 통합 할 수있는 방법입니다. 이 방법은 개발자가 프로젝트에서보다 체계적으로 라우팅 구성을 관리하는 데 도움이 될 수 있습니다.
예 : 다음 코드에서 접두사 메소드를 사용하여 경로를 /관리 경로로 그룹화했습니다. 즉,이 모든 경로의 URL은 /admin 과 접두사가 표시됩니다.
Route::prefix('admin')->group(function () {
Route::get('/', 'AdminController@index');
Route::get('/users', 'AdminController@users');
});
위의 코드를 통해 /admin 경로 아래의 경로에 액세스하면이 접두사가 자동으로 적용됩니다.
또한 미들웨어 방법을 사용하여 전체 라우팅 그룹에 미들웨어를 적용하여 액세스 권한을 통합하거나 다른 논리를 실행할 수 있습니다.
Route::middleware('auth')->group(function () {
Route::get('/dashboard', 'DashboardController@index');
Route::get('/profile', 'ProfileController@show');
});
위의 예에서는 Auth Middleware가 인증되지 않은 사용자가 /대시 보드 및 /프로필 페이지에 액세스하는 것을 제한합니다.
미들웨어는 Laravel 프레임 워크의 중요한 부분입니다. 검증, 요청/응답 수정, 처리 권한 등과 같은 요청 처리 프로세스 중에 특정 논리를 실행하는 데 사용됩니다.
Laravel은 사용자 인증을위한 Auth Middleware와 같이 일반적으로 사용되는 많은 미들웨어 내장을 보유하고 있으며 CSRF 미들웨어는 크로스 사이트 요청 위조 공격을 방지하는 데 사용됩니다.
Route::get('/profile', 'ProfileController@show')->middleware('auth');
이 예에서 인증 미들웨어는 인증 된 사용자 만 /프로필 경로에 액세스 할 수 있도록합니다.
네임 스페이스는 컨트롤러 이름 충돌을 피하고 개발자가 코드를 더 잘 구성 할 수 있도록 도와줍니다. Laravel에서 네임 스페이스를 적용하면 동일한 이름의 컨트롤러가 다른 모듈 또는 기능 영역에서 공존 할 수 있습니다.
예 : 다음 코드는 경로를 관리자 네임 스페이스로 그룹화하는 방법을 보여줍니다.
Route::namespace('Admin')->group(function () {
Route::get('/dashboard', 'DashboardController@index');
Route::get('/users', 'UserController@index');
});
이 예에서 DashboardController 및 UserController는 관리자 네임 스페이스 아래에 있으며 다른 모듈의 컨트롤러와의 Lifename 충돌을 피할 수 있습니다.
하위 도메인은 API.example.com 의 API 와 같은 기본 도메인 이름의 일부입니다. Laravel에서는 도메인 방법을 통해 경로를 특정 하위 도메인에 바인딩 할 수 있습니다.
예 : 다음 코드는 API.example.com subdomain에 경로를 할당하는 방법을 보여줍니다.
Route::domain('api.example.com')->group(function () {
Route::get('/users', 'UserController@index');
Route::post('/users', 'UserController@store');
});
위의 코드를 통해 API.example.com/users 및 API.example.com/users 에만 액세스하는 것만이 두 경로와 일치합니다.
이 기사는 라벨 프레임 워크에서 라우팅 그룹화, 미들웨어, 네임 스페이스 및 하위 도메인 라우팅 구성을 소개합니다. 이러한 기능은 개발자가 라우팅을보다 효율적으로 관리하고 구성하여보다 유연하고 강력한 라우팅 구성을 가능하게합니다.