ThinkPHP의 모델
1. 데이터 객체를 만드는 이유는 무엇입니까?
사례: ThinkPHP를 활용하여 부서 관리 완성
① 디자인 데이터베이스
② 부서 컨트롤러 생성
경로: ./Application/Admin/Controller컨트롤러 생성
규칙: DeptController.class.php
프로그래밍의 3단계
③ add.html 템플릿을 ./Application/Admin/View/Dept 폴더에 복사하고 템플릿 경로를 변경하세요.
④ 보기/색인/index.html 왼쪽 탐색 변경
⑤ 기능을 추가한 상위 부서 가져오기(모델 사용)
경로: ./Application/Admin/Model/DeptModel.class.php
모델 코드 프로그래밍을 위한 3단계:
컨트롤러에서 모델을 인스턴스화하여 상위 부서 기능 로딩을 완료합니다.
1) 모델 인스턴스화
2) select 메소드 호출
3) 템플릿 파일에 변수 할당
템플릿 파일 add.html에 상위 부서 목록을 표시합니다.
⑥ 데이터 추가 기능 구현 addOk
템플릿 페이지에서 Javascript 코드를 프로그래밍하고 양식 데이터를 제출합니다.
양식 제출 페이지 정의
추가 작업을 구현하기 위해 컨트롤러에서 addOk 메서드를 정의합니다.
활용 포인트: I 방법, 주요 기능: 양식 데이터 수신, 보안 강화
2. 데이터 객체 생성 방법
⑦ 데이터 객체를 생성하는 create 메소드를 소개합니다.
위의 addOk는 정상적으로 데이터베이스에 데이터를 추가할 수 있지만 양식을 수신하고 처리하기에는 너무 중복됩니다. ThinkPHP의 create 메소드를 사용하여 단순화할 수 있습니다.
3. 생성 방식 분석
아래 그림과 같이 Zend 소프트웨어를 사용하여 생성 방법을 추적합니다.
데이터 처리가 완료되면 수신된 양식 데이터가 현재 개체에 할당됩니다.
질문: 매개변수를 추가하지 않고도 add 메소드를 성공적으로 추가할 수 있는 이유는 무엇입니까?
답변: add 메소드를 계속 분석하면 코드는 다음과 같습니다.
add 메소드에 매개변수가 없으면 시스템은 자동으로 $this->data 속성을 읽으며 방금 생성 메소드는 이후 $this->data 속성에 양식 데이터를 저장합니다. 처리가 완료되면 시스템이 자동으로 양식 데이터를 데이터 테이블에 추가합니다.
4. 부서 목록 기능을 완성합니다.
① 아래 그림과 같이 컨트롤러에서 인덱스 방법을 정의합니다.
② index.html 템플릿을 ./Application/Admin/View/Dept 폴더에 복사하고 경로를 변경하세요.
위 내용은 thinkphp의 내용을 포함하여 ThinkPHP의 두 번째 모델을 소개한 내용입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.