라우팅 변수 규칙
라우팅 변수 규칙
라우팅 규칙을 마스터하려면 정규식에 대한 기본 지식이 있어야 합니다.
시스템의 기본 변수 규칙 설정은 w+이며 문자, 숫자, 중국어 및 밑줄만 일치합니다. 특수 기호 및 기타 문자와 일치하므로 변수 규칙을 정의하거나 기본 변수 규칙을 조정해야 합니다.
밑줄 문자 일치를 추가하는 등 라우팅 구성 파일에서 기본 변수 규칙을 사용자 정의할 수 있습니다.
'default_route_pattern' => '[\w\-]+',
규칙 라우팅에서 변수 규칙 지정을 지원합니다. 이는 동적 변수가 특정 유형을 제한할 수 없는 문제를 보완하고 지원합니다. 전역 규칙 설정. 사용법은 다음과 같습니다.
로컬 변수 규칙
로컬 변수 규칙은 현재 경로에서만 유효합니다.
// 定义GET请求路由规则 并设置name变量规则 Route::get('new/:name', 'News/read') ->pattern(['name' => '[\w|\-]+']);
처음에 ^를 추가하거나 끝에 $를 추가할 필요가 없으며 모드 수정자는 다음과 같습니다. 지원되지 않습니다. 시스템이 자동으로 추가합니다.
전역 변수 규칙
전역 변수 규칙을 설정하면 모든 경로가 유효합니다.
// 支持批量添加 Route::pattern([ 'name' => '\w+', 'id' => '\d+', ]);
결합 변수
라우팅 규칙이 특별한 경우 경로를 정의할 때 조합 변수를 사용할 수 있습니다.
예를 들어
Route::get('item-<name>-<id>', 'product/detail') ->pattern(['name' => '\w+', 'id' => '\d+']);
결합형 변수의 장점은 라우팅 규칙에 고정된 구분자가 없다는 점입니다. 필요한 변수 규칙과 구분자를 마음대로 결합할 수 있습니다. 예를 들어 라우팅 규칙을 다음과 같이 변경할 수 있습니다. :
Route::get('item<name><id>', 'product/detail') ->pattern(['name' => '[a-zA-Z]+', 'id' => '\d+']); Route::get('item@<name>-<id>', 'product/detail') ->pattern(['name' => '\w+', 'id' => '\d+']);
결합된 변수의 사용 선택적 변수를 사용해야 하는 경우 다음 방법을 사용할 수 있습니다.
Route::get('item-<name><id?>', 'product/detail') ->pattern(['name' => '[a-zA-Z]+', 'id' => '\d+']);
Dynamic Routing
라우팅 규칙의 변수를 라우팅 주소에 전달할 수 있습니다. 예를 들어 동적 라우팅을 구현합니다.
// 定义动态路由 Route::get('hello/:name', 'index/:name/hello');
name 변수의 값이 라우팅 주소로 전달됩니다.
동적 라우팅의 변수는 결합된 변수와 어셈블리도 지원합니다. 예:
Route::get('item-<name>-<id>', 'product_:name/detail') ->pattern(['name' => '\w+', 'id' => '\d+']);