thinkphp에서 D 메소드는 인스턴스화된 모델 객체를 반환할 수 있습니다. D 메소드는 사용자 정의 모델 클래스를 인스턴스화하는 데 사용됩니다. 이는 ThinkPHP 프레임워크에 의한 모델 클래스 인스턴스화를 캡슐화한 것입니다. 구문은 "D('[project://][group/]model','model layer name)입니다. ')", 반환 값은 인스턴스화된 모델 객체입니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, thinkphp v5.1 버전, Dell G3 컴퓨터.
D 메서드는 가장 일반적으로 사용되는 메서드입니다. 이는 ThinkPHP 프레임워크에 의한 모델 클래스 인스턴스화를 캡슐화하는 데 사용되며, 프로젝트 간 호출도 지원합니다. 호출 형식은 다음과 같습니다.
D('[项目://][分组/]模型','模型层名称')
D 메서드의 반환 값은 인스턴스화된 모델 개체입니다.
D 메서드는 모델 클래스를 자동으로 감지할 수 있습니다. 사용자 정의 모델 클래스가 존재하지 않으면 모델 기본 클래스가 동시에 인스턴스화됩니다. 인스턴스화되었으면 인스턴스화 해제를 반복하지 않습니다.
D 메서드의 가장 일반적인 용도는 현재 프로젝트의 사용자 정의 모델을 인스턴스화하는 것입니다. 예:
// 实例化User模型 $User = D('User');
는 현재 프로젝트에서 Lib/Model/UserModel.class.php 파일을 가져온 다음 UserModel을 인스턴스화합니다. 실제 코드는 다음과 동일할 수 있습니다.
import('@.Model.UserModel'); $User = new UserModel();
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를 가져와서 인스턴스화합니다.
확장된 지식: D와 M의 주요 차이점은
M 메서드는 모델 클래스 파일을 생성할 필요가 없으며 M 메서드는 모델 클래스를 읽지 않으므로 기본적으로 자동 검증이 유효하지 않습니다. 하지만 동적으로 할당할 수 있습니다. 메서드가 구현되어
D 메서드는 모델 클래스를 생성해야 합니다.
다음 두 가지 방법을 사용하여 데이터 테이블의 매핑 개체를 만들 수 있습니다.
첫 번째 방법: $Test = D('Test')
$Test = D(‘Test')
第二种:$Test = new Model(‘Test')
虽然这两种都可以对数据进行select,insert,delete,udpate操作,在
数据验证上有很大的不同,
用第一种方式实例一个模型就会有数据检查功能,如果 title 没有填写的话就会提示 “请输入标题” (这个是tp提供的一个自动验证功能,当然也需要在相应的model中定义好验证条件);
如果用第二种就没有了这个数据验证功能,需要手动验证。
总结如下:
D函数实例化的是你当前项目的Lib/Model下面的模块。
如果该模块不存在的话,直接返回实例化Model的对象(意义就与M()函数相同)。
而M只返回,实例化Model的对象。它的$name参数作为数据库的表名来处理对数据库的操作。
通俗点说:
D就是实例化一个基于Model文件的Model。
M则是通过直接实例化Model方法(ThinkPHP基类)来动态的实例化一个Model对象,即使这个对应的Model文件不存在。
再通俗一点说:
M实例化参数是数据库的表名。
D实例化的是你自己在Model文件夹下面建立的模型文件。
D就是在你没有定义模型的时候,系统自动帮你定义一个模型,这样你才进行简单的数据输入或者输出。
每一个Action文件都应该对应Model文件的,如果你定义了Model的话,
如:$Form = D(“User”)
就可以改成$Form = new UserModel();
$ Test = new Model('Test')
둘 다 데이터에 대한 선택, 삽입, 삭제 및 업데이트 작업을 수행할 수 있지만
데이터 확인에는 큰 차이가 있습니다. 🎜🎜첫 번째를 사용하세요. 모델을 인스턴스화하면 데이터 확인 기능이 있습니다. 제목을 입력하지 않으면 "제목을 입력하세요"라는 메시지가 표시됩니다. (이것은 TP에서 제공하는 자동 확인 기능이며, 물론 확인 조건을 정의해야 합니다. 🎜 🎜두 번째 방법을 사용하는 경우에는 이 데이터 확인 기능이 없으므로 수동으로 확인해야 합니다. 🎜🎜요약은 다음과 같습니다: 🎜- 🎜D 함수는 현재 프로젝트의 Lib/Model 아래에 있는 모듈을 인스턴스화합니다. 🎜
- 🎜모듈이 없으면 인스턴스화된 Model의 객체를 직접 반환합니다(M() 함수와 의미가 동일합니다). 🎜
- 🎜그리고 M은 모델을 인스턴스화하는 객체만 반환합니다. $name 매개변수는 데이터베이스에 대한 작업을 처리하기 위해 데이터베이스의 테이블 이름으로 사용됩니다. 🎜
- 🎜D는 모델 파일을 기반으로 모델을 인스턴스화하는 것입니다. 🎜
- 🎜M은 해당 Model 파일이 존재하지 않더라도 Model 메서드(ThinkPHP 기본 클래스)를 직접 인스턴스화하여 Model 개체를 동적으로 인스턴스화합니다. 🎜
- 🎜M 인스턴스화 매개변수는 데이터베이스의 테이블 이름입니다. 🎜
- 🎜D는 Model 폴더 아래에 생성한 모델 파일을 인스턴스화합니다. 🎜
- 🎜D는 모델을 정의하지 않아도 시스템이 자동으로 모델을 정의해 주기 때문에 간단한 데이터 입력이나 출력을 할 수 있다는 뜻입니다. 🎜
- 🎜모든 작업 파일은 모델 파일과 일치해야 합니다. 모델을 정의하는 경우 🎜
$Form = D("User" )
는 $Form = new UserModel();
로 변경될 수 있습니다(사용자는 모델 파일 이름을 나타냄). 🎜🎜【관련 튜토리얼 추천: 🎜thinkphp Framework🎜】🎜위 내용은 thinkphp D 메소드는 무엇을 반환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사는 ThinkPhp의 내장 테스트 프레임 워크에 대해 논의하여 장치 및 통합 테스트와 같은 주요 기능과 조기 버그 감지 및 개선 된 코드 품질을 통해 응용 프로그램 신뢰성을 향상시키는 방법을 강조합니다.

기사는 실시간 주식 시장 데이터 피드에 ThinkPHP를 사용하여 설정, 데이터 정확도, 최적화 및 보안 측정에 중점을 둡니다.

이 기사는 서버리스 아키텍처에서 ThinkPHP를 사용하기위한 주요 고려 사항에 대해 설명하고 성능 최적화, 무국적 설계 및 보안에 중점을 둡니다. 비용 효율성 및 확장 성과 같은 혜택을 강조하고 도전 과제를 해결합니다.

이 기사에서는 ThinkPHP 마이크로 서비스에서 서비스 검색 및로드 밸런싱 구현, 설정, 모범 사례, 통합 방법 및 권장 도구에 중점을 둡니다. [159 문자]

ThinkPhp의 IOC 컨테이너는 PHP apps.character 수 : 159의 효율적인 종속성 관리를위한 게으른 하중, 맥락 바인딩 및 메소드 주입과 같은 고급 기능을 제공합니다.

이 기사는 ThinkPhp를 사용하여 실시간 협업 도구를 구축하고 설정, WebSocket 통합 및 보안 모범 사례에 중점을 둡니다.

ThinkPhp는 가벼운 디자인, MVC 아키텍처 및 확장 성을 통해 SaaS 앱에 혜택을줍니다. 다양한 기능을 통해 확장 성을 향상시키고 개발 속도를 높이며 보안을 향상시킵니다.

이 기사는 설치, 구성, 작업 관리 및 확장성에 중점을 둔 ThinkPhp 및 RabbitMQ를 사용하여 분산 작업 큐 시스템을 구축합니다. 주요 문제는 고 가용성 보장, 손상과 같은 일반적인 함정을 피하는 것입니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
