thinkpp 5 프레임 경로 원리 및 용법 상세 설명
경로 이해
요약 하면 루트 는 네트워크 가 요청 한 URL 과 thinkphp 응용 층 의 논리 처리 주소 의 대응 관계 이다.
쉽게 말 하면 길 은 url 의 요 구 를 원 하 는 조작 방법 에 우아 하 게 대응 하 는 것 이다.
길 은 실제 url 주 소 를 숨 기 고 방문 주소 로 응용 프로그램(사이트 나 OA 등)을 방문 하 는 것 이다.
일반적으로 이렇게 정의 합 니 다."방문 주소"="실제 주소"는 맵 관 계 를 대표 합 니 다.마치'1'대표 로 KFC 에 가서 밥 을 먹고'0'대표 로 맥 도 날 드 에 가서 밥 을 먹 는 것 과 같다.동료 에 게 이 규칙 을 미리 알려 주면'1'이나'0'을 동료 에 게 보 내 면 동료 들 이 어디에서 밥 을 먹 어야 하 는 지 이해 할 수 있다 는 이치 다.
경로 의 규칙 은 thinkphp 가 규정 한 것 입 니 다.예 를 들 어 TP 의 접근 규칙 은 루트 디 렉 터 리/모듈/컨트롤 러/방법 입 니 다.그러면 우 리 는 맵 관계'reg'='index/user/reg'만 정의 해 야 합 니 다.이때 브 라 우 저 에'도 메 인 이름/reg'를 입력 하면'index 모듈/user/컨트롤 러/reg 방법'이라는 주 소 를 방문 할 수 있 습 니 다.
이러한 장점:
1.처리 되 지 않 은 url 경 로 는...모듈/컨트롤 러/방법/매개 변수 로 구성 되 어 있 습 니 다.'숨 김'을 하지 않 으 면 내부 구 조 를 잘 보이 고 안전 하지 않 습 니 다.
2.url 주 소 를 더욱 간결 하고 우아 하 며 아름 답 게 할 수 있 습 니 다.
정의.
일반적으로 응용 경로 설정 파일 application/route.phop 에 등록 합 니 다.
책.
4.567917.2 가지 등록 방식:1.동적 등록 과 2 설정 정의 방식
설정 정의 방식
그 중,pattern__전역 변수 규칙 을 정의 하 는 것 을 말 합 니 다.
대응 Route.php 중:
경로 그룹
이 기능 은 같은 접두사 의 경 로 를 정의 하여 그룹 을 나 눌 수 있 습 니 다.
예시 1:
admin/admin/test 방법:
public function test()
{
echo 'i am test <br>';
print_r(input());
}
예 는 다음 과 같다.예시 2:
경로 정의 후 url 생 성:url()방법 에서
url('index/blog/read','id=5&name=thinkphp');
모듈,컨트롤 러 를 모두 써 야 합 니 다.그렇지 않 으 면 오류 가 발생 할 수 있 습 니 다.예 를 들 면:
Route::group('show', [
'page/:id' => ['index/Page/show'],
'cate/:id' => ['index/Cate/show'],
], ['method' => 'get'], ['id' => '\d+']);
<a href="{:url('Page/show',['id'=>$cate['id']])}" rel="external nofollow" >
Href 생 성=http://cms.com/index/page/show/id/65.html
동적 등록:
Route::rule(' ',' ',' ',' ( )',' ( )');
:
Route:: get( , , , )
대량 등록:
Route::rule([
' 1'=>' ',
' 2'=>[' ',' ( )',' ( )']
...
],'',' ',' ( )',' ');
주의:혼합 모드 에서 루트 를 등록 하면 원래 의 방문 주소 가 자동 으로 효력 을 상실 합 니 다~
모든 매개 변수 에서":"로 시작 하 는 매개 변 수 는 동적 변 수 를 표시 하고 조작 방법의 대응 하 는 매개 변수 에 자동 으로 연 결 됩 니 다.
여러 개의 경로 규칙 을 등록 한 후에 시스템 은 등 록 된 요구 유형 을 만족 시 키 는 경로 규칙 을 차례대로 옮 겨 다 니 며 정확 한 경로 규칙 에 일치 하면 컨트롤 러 의 조작 방법 을 호출 하고 후속 규칙 은 더 이상 검 측 하지 않 습 니 다.
입구 파일 바 인 딩 모듈 후 경로 규칙 을 정의 하면 모듈 이름 을 추가 할 필요 가 없습니다.
// [ ]
// admin
define('BIND_MODULE', 'admin');
// url
Route::rule('login', 'Login/index');
주의:define('BINDMODULE', ‘index/index');컨트롤 러 에 연결 할 때 컨트롤 러 이름 index 는 소문 자 여야 합 니 다.대문자 로 는 post 가 성공 하지 못 합 니 다.동적 모듈,컨트롤 러 또는 작업 경로
'show/:action/:id' => ['index/:action/show',
['method' => 'get'],
['id' => '\d+', 'action' => '\w+']],
이 두 개 다 방문 에 성공 할 수 있 습 니까?wtf?why?
http://cms.com/show/page/69
http://cms.com/index/page/show/id/69.html
한 가지 알 겠 습 니 다.이렇게 쓰 면 안 됩 니 다.선택 가능 한 매개 변 수 는 경로 규칙 의 마지막 에 만 놓 을 수 있 습 니 다.중간 에 선택 가능 한 매개 변 수 를 사용 하면 뒤의 변 수 는 선택 가능 한 매개 변수 가 됩 니 다.경로
루트 별명 을 사용 하면 원래 pathinfo 가 효력 을 잃 지 않 을 것 같 습 니 다~
작은 매듭
본 고 는 ThinkPHP 프레임 워 크 를 기반 으로 한 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
vue 동적 루트를 실현하는 방법저희가 프로젝트의 루트를 전방에 설정한 경우가 많아요. 그러나 때로는 전면적인 권한 제어를 위해 백그라운드에서 루트표를 제시하고 앞부분을 과장해야 할 때도 있다.프런트엔드에서 구성할 필요가 없습니다. 다음은 주로 사...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.