thinkpp 5 프레임 경로 원리 및 용법 상세 설명

4810 단어 thinkphp5경로
본 논문 의 사례 는 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 가 효력 을 잃 지 않 을 것 같 습 니 다~
    작은 매듭
  • url()조수 함수 에서 모듈/컨트롤 러/방법 을 모두 써 야 합 니 다
  • thinkpHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
    본 고 는 ThinkPHP 프레임 워 크 를 기반 으로 한 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

    좋은 웹페이지 즐겨찾기