ThinkPHP 실례화 모델의 네 가지 방법 개술
1. 기초 모델 만들기: 하나의 시스템이 가지고 있는 데이터베이스 조작 클래스를 실례화한다.
Test.Model.class.php 페이지 코드는 다음과 같습니다.
class TestModel extends Model{
}
UserAction.class.php 페이지 코드는 다음과 같습니다.
function test(){
$test=M('test');// Model , test test
// $test=new TestModel();
$test=$test->select();
print_r($test);// test
}
2. 사용자 정의 모델을 실례화한다.
만약 데이터베이스 조작이 비교적 복잡하다면, 사용자 정의 모델 클래스에 사용자 정의 데이터베이스 조작 방법을 추가해야 한다
UserModel.class.php 페이지 코드는 다음과 같습니다.
class UserModel extends Model{
function pyj(){
echo 'pengyanjie';
//
}
}
UserAction.class.php 페이지 코드는 다음과 같습니다.
function user(){
$user=D('User');//
// $user=new UserModel();
$user->pyj();// User pyj
}
또는, 당신은 표를 실례화해야 하며, 동시에 자신이 쓴 사용자 정의 데이터베이스 조작 클래스를 실례화해야 한다. 코드는 다음과 같다.
function love(){
$love=M('test','UserModel');
//$love=new UserModel('test');
$list=$love->select();
dump($list);
$love->pyj();
}
3. 하나의 사용자 모델을 실례화한다.
UserAction.class.php 페이지 코드는 다음과 같습니다.
function user(){
$user=new UserModel();// $user=D('User');
$list=$user->select();
dump($list);
echo $user->aa();
}
UserModel.class.php 페이지 코드는 다음과 같습니다.
이 클래스 이름 user는 테이블 이름 user와 대응하기 때문에 Useraction에서 이 모델을 실례화할 때 더 이상 테이블 이름을 전송할 필요가 없습니다. 코드는 다음과 같습니다.
class UserModel extends Model{
function aa(){
echo 'pengyanjie';
}
}
이 세 번째 실례화 모델 방법과 두 번째 방법의 차이는 다음과 같다. 당신의 업무 논리에서 일반적인 상황에서 공공적인 업무 논리가 있을 수 있으니 두 번째 M('표명','모델명')을 사용하세요.예를 들어 M('user','CommonModel')이 더욱 편리할 것이다.
세 번째 실례화 모델 방법은 조작표에 대한 더욱 복잡한 업무 논리에 적합하지만 공공 업무 논리에 사용할 필요가 없다.(그의 업무 논리는 사용자 테이블에 대한 유일한 것이고 다른 모델에서 사용할 필요가 없다).
4. 빈 모형을 실례화한다. 실례화 작업을 할 때 어떤 표를 사용하는지 모른다.
$user=new Model();// $user=M();
$list=$user->query('select * from think_user'); // sql , ,
dump($list);
첨부: $user=new UserModel(),$user=D ('user');의 차이점:
(1) D 메서드는 모델 클래스를 자동으로 감지할 수 있으며 존재하지 않을 때 이상을 던집니다.또한 이미 실례화된 모델에 대해서는 실례화를 반복하지 않는다.기본 D 메서드는 현재 항목 아래의 모델에만 적용할 수 있습니다.
(2) 만약에 제가 프론트 데스크톱 응용이라고 한다면 저는 백엔드 프로젝트의 모델을 실례화하면 D로 해결할 수 있다고 생각합니다.
$user=D('admin','user');// admin user
또는
$user=D('admin.user');
본고에서 서술한 실례가 여러분의 ThinkPHP 프로그램 설계에 도움이 되었으면 합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.