thinkphp d 메소드는 ThinkPHP 프레임워크에 의한 모델 클래스 인스턴스화를 캡슐화하는 데 사용됩니다. 사용 구문은 "D('[project://][group/]model',' 모델 레이어 이름 ')', 반환 값은 인스턴스화된 모델 객체입니다.
이 글의 운영 환경: Windows 7 시스템, thinkphp v5.1 버전, DELL G3 컴퓨터
thinkphp d 메소드 사용법?
ThinkPHP 함수 상세 설명: D 메소드
D method
D 메서드 사용자 정의 모델 클래스를 인스턴스화하는 데 사용되는 더 일반적으로 사용되는 메서드입니다. 또한 ThinkPHP 프레임워크에 의한 모델 클래스 인스턴스화를 캡슐화하고 크로스 프로젝트를 지원합니다. 호출 형식은 다음과 같습니다.
D('[项目://][分组/]模型','模型层名称')
메서드의 반환 값은 인스턴스화된 모델 개체입니다.
D 메서드는 모델 클래스를 자동으로 감지할 수 있습니다. 사용자 정의 모델 클래스가 존재하지 않으면 모델 기본 클래스가 인스턴스화되지 않습니다. 반복됩니다. 인스턴스화로 이동합니다.
D 메서드의 가장 일반적인 용도는 현재 프로젝트의 사용자 정의 모델을 인스턴스화하는 것입니다. 예:
// 实例化User模型 $User = D('User');
는 현재 프로젝트에서 Lib/Model/UserModel.class.php 파일을 가져온 다음 UserModel을 인스턴스화합니다. 실제 코드는 다음과 같을 수 있습니다.
import('@.Model.UserModel'); $User = new UserModel();
그러나 D 메서드를 사용하는 경우 UserModel 클래스가 없으면 자동으로
new Model('User');
를 호출하므로 다시 인스턴스화할 필요가 없습니다. 두 번째로 호출되므로 개체 인스턴스화 오버헤드가 어느 정도 줄어들 수 있습니다.
D 방법은 그룹 간 및 프로젝트 인스턴스화 모델을 지원할 수 있습니다. 예:
//实例化Admin项目的User模型 D('Admin://User') //实例化Admin分组的User模型 D('Admin/User')
참고: 프로젝트 간 호출 모델을 구현하려면 두 프로젝트의 디렉터리 구조가 병렬인지 확인해야 합니다.
버전 3.1부터 계층적 모델에 대한 추가 지원으로 인해 D 메서드는 다른 모델도 인스턴스화할 수 있습니다. 예:
// 实例化UserService类 $User = D('User','Service'); // 实例化UserLogic类 $User = D('User','Logic');
D('User','Service');
는 Lib/Service/UserService.class.php를 가져와 인스턴스화합니다. 이는 다음과 같습니다. 아래 코드:
import('@.Service.UserService'); $User = new UserSerivce();
권장: "최신 10개 thinkphp 비디오 튜토리얼"
위 내용은 thinkphp d 메소드를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!