thinkphp의 Big d는 사용자 정의 모델 클래스를 인스턴스화하는 데 사용되는 내장 메소드입니다. 이는 ThinkPHP 프레임워크에 의한 Model 클래스 인스턴스화를 캡슐화한 것입니다. D 메소드의 호출 형식은 "D('[project:/ /] [그룹/]모델','모델 레이어 이름')".
이 기사의 운영 환경: Windows 7 시스템, ThinkPHP 버전 5.0, Dell G3 컴퓨터.
ThinkPHP 기능에 대한 자세한 설명: D 메소드
D 메소드:
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 빅디가 뭐야?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!