경로 이름 지정
경로 이름 지정은 프로그램이 라우팅 정보를 쉽게 얻을 수 있도록 하기 위한 것입니다. 이 정보를 사용하여 리디렉션하거나 다른 작업을 수행할 수 있습니다. 라우팅 명령은 name 메소드를 통해 구현됩니다. 다음으로 경로 이름을 지정해 보겠습니다.
Route::get('about', function () {})->name('index.about');
경로 이름을 지정한 후 보조 기능 경로를 통해 경로의 URL을 얻을 수 있습니다.
$url = route('index.about'); echo $url; // http://localhost:8000/about
앞쪽 도메인 이름 부분은 원하지 않고 뒷쪽 경로만 원한다면 이렇게 하면 됩니다
$url = route('index.about', [], false); echo $url; // /about
매개변수로 경로를 정의하면 매개변수를 두 번째 매개변수로 전달할 수 있습니다. 경로 함수
Route::get('news/{id}', 'IndexController@news')->name('home.news'); ... return redirect()->route('home.news', ['id' => 23]);
경로 함수의 두 번째 매개변수 배열 요소는 라우팅 매개변수에 자동으로 대응할 수 있습니다. 경로 함수의 두 번째 매개변수 배열 요소가 경로에 설정된 매개변수보다 크면 URL이 자동으로 연결됩니다. URL을 생성하려면
echo route('home.news', ['id' => 23, 'page' => 3, 'page_num' => 20]); // http://localhost:8000/news/23?page=3&page_num=20
route grouping
라우트 그룹화의 역할은 시스템이 여러 개의 경로를 설정했지만 일부 경로에 동일한 네임스페이스 접두사가 있는 등 공통점이 있는 경우, 또는 동일한 경로 접두사를 사용하면 공통점이 있는 경로를 그룹화할 수 있습니다. 이러한 경로를 하나의 경로에 넣으면 관리가 용이해지고 코드 양이 줄어들며 코드가 더 우아해 보입니다.
경로 접두어
우리는 동일한 접두어를 가진 경로를 그룹에 넣습니다. 다음은 동일한 접두사를 가진 두 개의 경로입니다.
Route::prefix('index')->get('a', function () { return 'a'; // 匹配/index/a }); Route::prefix('index')->get('b', function () { return 'b'; // 匹配/index/b });
이제 그룹에 넣습니다.
Route::prefix('index')->group(function () { Route::get('a', function () { return 'a'; // 匹配/index/a }); Route::get('b', function () { return 'b'; // 匹配/index/b }); });
접두사 방법을 사용하는 것 외에도 아래와 같이 그룹 방법의 첫 번째 매개 변수에 설정할 수도 있습니다.
Route::group(['prefix' => 'index'], function () { Route::get('a', function () { return 'a'; // 匹配/index/a }); Route::get('b', function () { return 'b'; // 匹配/index/b }); });
Namespace
네임스페이스도 자주 사용되는 라우팅 그룹입니다.
Route::group(['namespace' => 'Home'], function () { Route::get('home/index', 'IndexController@index'); });
위 코드에서 네임스페이스를 설정하지 않은 경우 위 경로는
Route::get('home/index', 'Home\IndexController@index');
Subdomain name
입니다. 이 도메인 이름이 아니면 액세스할 수 있는 도메인 이름을 설정하는 데 사용됩니다. 경로가 올바른 경우에도 액세스할 수 있습니다.
Route::domain('php.cn')->group(...)
이름 접두사
name 메서드는 각 경로 그룹의 경로에 지정된 접두사를 추가할 수 있습니다
Route::name('abc.')->group( function () { Route::get('home', function () { })->name('home'); }); …… $url = route('abc.home');
위 내용은 Laravel 강의 4: 경로 이름 지정 및 경로 그룹화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!