thinkphp에서 m 메소드의 반환 값은 Model 객체입니다. m 메소드는 "$m=new Model("user")"의 약어로 이해될 수 있으며 호출 형식은 "M('[ 기본 모델 이름:] 모델 이름','데이터 테이블 접두사','데이터베이스 연결 정보')", 해당 기능은 기본 모델 클래스를 인스턴스화하는 것입니다.
이 문서의 운영 환경: Windows 10 시스템, ThinkPHP 버전 5, Dell G3 컴퓨터.
M 메소드는 $m=new Model("user")의 약어라고 생각하면 됩니다. 즉, M()은 Model 객체를 반환합니다
M 메서드는
M 메서드의 호출 형식인 기본 Model 클래스를 인스턴스화하는 데 사용됩니다.
M('[基础模型名:]模型名','数据表前缀','数据库连接信息')
M 메서드의 구체적인 용도는 무엇입니까?
1 기본 모델(Model) 클래스 인스턴스화
모델이 정의되지 않은 경우 다음 메소드를 사용하여 모델 클래스를 인스턴스화하여 작업을 수행할 수 있습니다.
//实例化User模型 $User = M('User'); //执行其他的数据操作 $User->select();
이 메소드는 모델 클래스를 정의할 필요가 없기 때문에 가장 간단하고 효율적이며 교차 프로젝트를 지원합니다. 전화. 단점은 커스텀 모델 클래스가 없어 관련 비즈니스 로직을 작성할 수 없고 기본적인 CURD 작업만 완료할 수 있다는 점이다.
$User = M('User');
는 실제로 다음과 동일합니다.
$User = new Model('User');
는 think_user 테이블을 작동한다는 의미입니다. M 메서드에도 D 메서드와 마찬가지로 싱글톤 함수가 있으며, 여러 번 호출해도 반복적으로 인스턴스화되지 않습니다. M 메소드의 모델 이름 매개변수는 데이터 테이블로 변환될 때 자동으로 소문자로 변환됩니다. 이는 ThinkPHP의 데이터 테이블 이름 지정 사양이 모두 소문자 형식임을 의미합니다.
2. 다른 공개 모델 클래스 인스턴스화
첫 번째 인스턴스화 방법은 모델 클래스에 대한 정의가 없기 때문에 일부 추가적인 논리적 메서드를 캡슐화하기 어렵지만 대부분의 경우 그냥 수행하면 됩니다. 몇 가지 일반적인 논리를 확장한 후 다음 방법을 시도해 볼 수 있습니다.
$User = M('CommonModel:User');
변경된 사용법은 실제로 다음과 같습니다.
$User = new CommonModel('User');
시스템의 모델 클래스가 자동으로 로드될 수 있으므로 인스턴스화하기 전에 클래스 라이브러리를 수동으로 가져올 필요가 없습니다. 모델 클래스 CommonModel은 Model을 상속해야 합니다. CommonModel 클래스에서 몇 가지 일반적인 논리적 메서드를 정의할 수 있으므로 각 데이터 테이블에 대해 특정 모델 클래스를 정의할 필요가 없습니다. 프로젝트에 이미 100개 이상의 데이터 테이블이 있는 경우 대부분은 기본입니다. CURD 작업의 경우 일부 모델에만 있습니다. 캡슐화해야 하는 복잡한 비즈니스 논리이므로 첫 번째 방법과 두 번째 방법을 조합하는 것이 좋습니다.
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 thinkphp에서 m 메소드의 반환 값은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!