>  기사  >  PHP 프레임워크  >  laravel의 경로 이름은 어떻게 사용되나요?

laravel의 경로 이름은 어떻게 사용되나요?

青灯夜游
青灯夜游원래의
2022-02-23 18:06:253887검색

laravel에서 경로 이름 지정의 역할은 리디렉션을 용이하게 하기 위해 경로를 생성하는 것입니다. 경로 이름 지정을 통해 특정 경로가 URL 또는 리디렉션을 쉽게 생성할 수 있습니다. 개발자는 name 메서드를 사용하여 경로에 연결하여 특정 경로의 이름을 정의할 수 있습니다.

laravel의 경로 이름은 어떻게 사용되나요?

이 튜토리얼의 운영 환경: Windows 7 시스템, Laravel 6 버전, Dell G3 컴퓨터.

laravel의 경로 이름 지정

laravel 경로 이름 지정의 역할: 리디렉션을 용이하게 하는 경로를 생성합니다.

경로 이름 지정을 통해 특정 경로가 쉽게 URL 또는 리디렉션을 생성할 수 있습니다. name 메소드를 사용하여 경로에 연결하여 주어진 경로의 이름을 정의할 수 있습니다:

Route::get('user/profile', function () {
    //
})->name('profile');

컨트롤러의 메소드에 대한 경로 이름을 지정할 수도 있습니다:

Route::get('user/profile', 'UserProfileController@show')->name('profile');

이름이 지정된 경로를 가리키는 URL 생성

특정 경로에 할당되면 이름이 지정되면 URL을 생성하거나 전역 경로 기능을 통해 리디렉션할 때 경로 이름을 사용할 수 있습니다.

// 生成 URL...
$url = route('profile');

// 重定向...
return redirect()->route('profile');

명명된 경로가 매개변수를 정의하는 경우 매개변수를 경로에 전달할 수 있습니다. 두 번째 매개변수로 작동합니다. 주어진 매개변수는 URL의 올바른 위치에 자동으로 삽입됩니다:

Route::get('user/{id}/profile', function ($id) {
    //
})->name('profile');
$url = route('profile', ['id' => 1]);

현재 경로 확인

현재 요청이 지정된 이름의 경로로 라우팅되는지 확인하려면 다음에서 사용할 수 있습니다. 경로 인스턴스 명명된 메서드입니다. 예를 들어 라우팅 미들웨어에서 현재 경로 이름을 확인할 수 있습니다.

/**
 * Handle an incoming request.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Closure  $next
 * @return mixed
 */
public function handle($request, Closure $next)
{
    if ($request->route()->named('profile')) {
        //
    }
    return $next($request);
}

Route name prefix

name 메서드를 사용하면 경로 그룹의 각 경로 이름에 지정된 문자열을 추가할 수 있습니다. 예를 들어 모든 그룹 경로의 이름 앞에 "admin"을 붙일 수 있습니다. 주어진 문자열은 지정된 경로 이름 접두사와 정확히 동일하므로 접두사에 . 문자를 제공해야 합니다.

Route::name('admin.')->group(function () {
    Route::get('users', function () {
        // 指定路由名为 "admin.users"...
    })->name('users');
});

resource 경로 이름 지정

resource 경로

Route::resource('users', 'UsersController');

코드는 동일합니다. In:

Route::get('/users', 'UsersController@index')->name('users.index');
Route::get('/users/{user}', 'UsersController@show')->name('users.show');
Route::get('/users/create', 'UsersController@create')->name('users.create');
Route::post('/users', 'UsersController@store')->name('users.store');
Route::get('/users/{user}/edit', 'UsersController@edit')->name('users.edit');
Route::patch('/users/{user}', 'UsersController@update')->name('users.update');
Route::delete('/users/{user}', 'UsersController@destroy')->name('users.destroy');

resource 경로 이름 지정

Route::resource('foo',  'ProductsController');
route('foo.index'); // http://your.website/foo
Route::resource('products',  'ProductsController',  ['names'  =>  'foo']);
route('foo.index'); // http://your.website/products
Route::resource('products',  'ProductsController',  ['names'  =>  'admin.products']);
route('admin.products.index'); // http://your.website/products

resource 경로 접두사:

Route::resource('products',  'ProductsController',  ['as'  =>  'admin']);
route('admin.products.index'); // http://your.website/products

[관련 권장 사항: laravel 비디오 튜토리얼]

위 내용은 laravel의 경로 이름은 어떻게 사용되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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