이 장에서는 주로 ThinkPHP의 기본 개요와 웹 서버 개발에 일반적으로 사용되는 MVC 구조에 대해 설명합니다.
1. 항목 파일
브라우저에 http://localhost/tp5_demo/public/
#🎜 입력
2. 컨트롤러
MVC 아키텍처에서 컨트롤러는 일반적으로 다음 기능만 담당합니다.#🎜 🎜 #매개변수 확인
콜 서비스
콜 모델
출력 결과
ThinkPHP 프레임워크에서 컨트롤러 구축 그냥 생성 해당 모듈의 컨트롤러 모듈에 새로운 클래스가 있습니다.
위 그림과 같이 인덱스 컨트롤러는 인덱스 모듈에 내장되어 있습니다.
인덱스 컨트롤러 아래의 index() 메서드는 API 개발의 인터페이스이기도 한 작업을 나타내며 구성 프레임워크의 라우팅 URL을 통해 바인딩될 수 있습니다.
Action에는 너무 많은 논리 연산이 있어서는 안 된다는 점에 유의해야 합니다. Action은 모델 레이어(Model)와 뷰 레이어(View)의 호출자여야 합니다. 처리를 위해서는 모델 레이어에 배치하고, 처리를 위해서는 더 복잡한 로직을 서비스 레이어(Service)에 배치해야 하는 것이 바로 AOP(Aspect-Oriented 프로그래밍)입니다.
이것의 장점은 일반적인 작업(사용자 로그인, 활동량 계산 등)이 변경될 때 모델의 코드만 수정하면 되며, 해당 컨트롤러에는 영향을 미치지 않는다는 것입니다. 모델 코드를 호출합니다.
로직이 컨트롤러에 배치된 경우 코드를 수정해야 하면 관련 컨트롤러 코드도 모두 수정해야 합니다.
모든 로직을 컨트롤러에 넣고 모델을 전혀 사용하지 않는 프로젝트를 본 적이 있는데, 작성 시 레이어링이나 반복을 고려할 필요가 없어 매우 신선합니다.
3. 모델모델 정의는 일반적으로 데이터 테이블에 해당하는 모델 클래스에 해당합니다.
서버사이드 개발에서 대부분의 논리적 작업은 실제로 다양한 데이터 테이블을 선택/생성/업데이트/삭제하는 것입니다.
ID 75의 기사 데이터 가져오기와 같은 몇 가지 간단한 논리 연산. 모델의 메서드로 캡슐화되고 컨트롤러 계층에서 호출되어야 합니다.
ThinkPHP 프레임워크는 숨겨진 필드, 필드 수정자, 페이징 쿼리, 관계 정의 등 모델을 위한 다양한 편리한 기능을 제공합니다.
모델 및 기능에 대해서는 추후 자세히 소개해드리겠습니다.
4. 뷰뷰 레이어는 해당 HTML 코드를 출력합니다.
프레임워크 내에서 템플릿 엔진(예: ThinkPHP 자체 엔진, Smarty 엔진)을 사용하여 변수 대체를 수행할 수 있습니다.
하지만 이제 API를 사용하여 데이터를 전송하고 프런트 엔드와 상호 작용하는 API 개발에서는 서버 측이 더 많이 사용되고 페이지 렌더링에는 뷰가 거의 사용되지 않습니다.
5. 라우팅많은 PHP 프레임워크에는 라우팅 기능이 있으며, Vue 및 React와 같은 프런트엔드에서도 라우팅의 개념이 있습니다. 프레임워크에 추가되었습니다.
Routing은 위에서 언급한 것처럼 실제로 액세스 URL과 컨트롤러의 작업 간의 매핑입니다.
http://localhost/tp5_demo/public/ index/index/ index
은 인덱스 모듈의 인덱스 컨트롤러 아래에 있는 index() 메서드에 액세스하는 것입니다.
한 번 시도해 보고 hello() 메서드를 인덱스 컨트롤러에 추가할 수 있습니다.
6. 요약# 🎜 🎜#
이 장에서는 널리 사용되는 세 가지 MVC 구성 요소의 기본 사용법과 라우팅 개념을 소개합니다. 아이들은 백엔드 인터페이스의 워크플로우, 즉 라우팅->컨트롤러->모델(->뷰)을 대략적으로 마스터했어야 합니다.위 내용은 ThinkPHP 프레임워크에 대해 알아야 할 사항의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!