>  기사  >  PHP 프레임워크  >  thinkphp에서 R 메소드를 사용하는 방법

thinkphp에서 R 메소드를 사용하는 방법

WBOY
WBOY원래의
2022-02-25 11:45:382378검색

thinkphp에서는 R 메소드를 사용하여 특정 컨트롤러의 작업 메소드를 호출하는데, 이는 A 메소드를 더욱 개선하고 보완한 것입니다. R 메소드의 호출 형식은 "R('[project://] [그룹/]모듈/작업','매개변수','컨트롤러 레이어 이름')".

thinkphp에서 R 메소드를 사용하는 방법

이 문서의 운영 환경: Windows 10 시스템, ThinkPHP 버전 5, Dell G3 컴퓨터.

thinkphp에서 R 메소드를 사용하는 방법

R 메소드는 특정 컨트롤러의 동작 메소드를 호출하는데 사용되는데, 이는 A 메소드를 더욱 향상시키고 보완한 것입니다.

R 메서드 호출 형식:

R('[项目://][分组/]模块/操作','参数','控制器层名称')

예를 들어 작업 메서드를 다음과 같이 정의합니다.

class UserAction extends Action {
public function detail($id){
return M('User')->find($id);
}
}

그런 다음 R 메서드를 통해 다른 컨트롤러에서 이 작업 메서드를 호출할 수 있습니다. (일반적으로 R 메서드는 교차 모듈 호출에 사용됩니다.)

$data = R('User/detail',array('5'));

는 사용자 컨트롤러의 세부 메소드를 호출하는 것을 의미하며(세부 메소드는 공개 유형이어야 함), 반환 값은 ID 5의 사용자 데이터를 쿼리하는 것입니다. 호출하려는 작업 메서드에 매개 변수가 없는 경우 두 번째 매개 변수는 비워 두고 직접 사용할 수 있습니다.

$data = R('User/detail');

또한 그룹 간 및 프로젝트 호출도 지원할 수 있습니다. 예:

R('Admin/User/detail',array('5'));

는 사용자 컨트롤 호출을 의미합니다. Admin 그룹 아래 컨테이너의 세부 메소드입니다.

R('Admin://User/detail',array('5'));

는 Admin 프로젝트에서 User 컨트롤러의 세부 메소드를 호출하는 것을 의미합니다.

공식적인 권장 사항은 동일한 레이어에서 너무 많은 호출을 수행하지 않는 것입니다. 그러면 논리적 혼란이 발생할 수 있습니다. 공개적으로 호출되는 부분은 별도의 인터페이스로 캡슐화해야 합니다. 3.1의 새로운 기능을 사용하면 별도의 컨트롤러 레이어를 추가할 수 있습니다. 예를 들어 인터페이스 호출의 경우 Api 컨트롤러 계층

class UserApi extends Action {
public function detail($id){
return M('User')->find($id);
}
}

을 추가한 다음 R 메서드를 사용하여

$data = R('User/detail',array('5'),'Api');

을 호출합니다. 즉, R 메서드의 세 번째 매개 변수는 컨트롤러 지정을 지원합니다. 호출할 레이어입니다.

동시에 R 메서드는 연산 메서드 호출 시 연산 접미사 설정 C('ACTION_SUFFIX')를 지원할 수 있습니다. 연산 메서드 접미사를 설정해도 여전히 R 메서드의 호출 메서드를 변경할 필요가 없습니다. .

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 thinkphp에서 R 메소드를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.