Thinkphp 3.1 빠른 시작: 컨트롤러 고급 기능

출처: 인터넷
작성자: 사용자
키워드: 퀵 스타트 thinkphp 고급 기능

Thinkphp 컨트롤러 레이어는 코어 컨트롤러와 비즈니스 컨트롤러의 구성 그리고 코어 컨트롤러 포함 하 여 HTTP 요청 차단 응용 프로그램 (를 포함 하 여 모듈 및 운영) 일정 제어에 대 한 책임 시스템 내에서 응용 프로그램 클래스에 의해 완료 되 고 전달, 로드 구성, 비즈니스 컨트롤러는 사용자 정의 http:// Www.aliyun.com/zixun/aggregation/16339.html "> 액션 클래스 또는 다른 컨트롤러 클래스 완전 한.
우리는 이전 연구, 기본 컨트롤러 사용, 우리 컨트롤러의 특성 및 고급 사용, thinkphp 컨트롤러의 미스 테리 망 토를 탐험의 일부를 설명 하는이 문서에서 배웠습니다.

Action 매개 변수 바인딩

이전 섹션에서 우리는에 참여 했다 액션 메서드의 모든 없어 실제로 버전 3.1 시작 매개 변수, 매개 변수 바인딩 기능을 지원할 수 있습니다. 작업 매개 변수 바인딩의 원리 (그룹화, 모듈 및 작업 이름 제외) URL에서 매개 변수 및 컨트롤러의 작업 메서드 매개 변수 (변수 이름)로 바인딩할 것입니다.
예를 들어 두 작업 방법을 읽고 정의 블로그 모듈에 대 한 보관 방법을 읽기 작업에 대 한 ID 매개 변수를 지정 하는 데 필요한, 아카이브 메서드는 해와 달 (달) 두 개의 매개 변수를 지정 합니다. 데모의 편의 위해 우리는 특정 작업 방법에 대 한 비즈니스 코드를 생략 하 고 단순히 에코와 함께 현재 매개 변수를 출력. URL의 액세스 주소: 두 개의 URL 주소 및 연도 월 매개 변수 매개 변수 ID 읽기 작업 방법 및 보관 작업 방법으로 동일한 이름 가진 매개 변수를 자동으로 바인딩됩니다.
출력의 결과 매개 변수는 작업의 매개 변수는 URL에 전달 된 매개 변수의 이름과 일치 해야 합니다 하지만 매개 변수 순서 일치 하도록 필요 하지 않습니다. 즉, 결과 위의 액세스와 일치, 매개 변수는 URL과 작업 메서드에서 매개 변수 순서는 임의로 조정 될 수 있다, 열쇠는 매개 변수 이름을 일관 되도록.
사용자가 (왜 방문 언급 되지 않은)으로 URL 주소에 액세스 하는 경우: 다음 예외 힌트를 throw: 읽기 작업 메서드를 실행 하지만 메서드는 URL 주소에서 올바른 ID 매개 변수 정보를 가져올 수 없습니다 경우 ID 매개 변수 매개 변수를 전달 해야 합니다 때문에 오류에 대 한 이유는 간단 하다. 우리는 사용자 입력을 믿을 수 없다, 따라서 것이 좋습니다를 추가 하는 기본값을 Read 메서드는 ID 매개 변수 예: 이러한 방법으로, 우리가 그것에 접근할 때 우리는 출력 출력: 매개 변수 바인딩 함수는 경로 의해 영향을 받지 않습니다 이며 유효 경로에서 URL에 전달 된 매개 변수. 그리고 바인딩 매개 변수 필요한 특수 처리 및 필요한 경우 필터링.

작업을 확장 하는 클래스 Blogaction {공공 기능 읽기 ($id) {에코 ' id = '. $id; 공공 기능 아카이브 ($year = ', $month = ') {에코 ' 년 = '. $year. '     & 달 = '. $month; } HTTP://SERVERNAME/INDEX.PHP/BLOG/READ/ID/5 http://serverName/index.php/Blog/archive/year/2012/month/03 id = 5 1 년 = 2012 & 달 = 03 http://serverName/index.php/Blog/archive/month/03/year/2012 http://serverName/index.php/ 블로그/읽기/매개 변수 오류: ID 공용 함수 읽기 ($id = 0) {에코 ' id = '. $id;} http://serverName/index.php/Blog/read/id=0 http://s Ervername/index.php/blog/archive/year=2012 & 달 01 =

관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.