>PHP 프레임워크 >ThinkPHP >ThinkPHP 프레임워크에 대해 알아야 할 사항

ThinkPHP 프레임워크에 대해 알아야 할 사항

silencement
silencement앞으로
2019-11-23 15:50:504460검색

ThinkPHP 프레임워크에 대해 알아야 할 사항

이 장에서는 주로 ThinkPHP의 기본 개요와 웹 서버 개발에 일반적으로 사용되는 MVC 구조에 대해 설명합니다.

1. 항목 파일

브라우저에 http://localhost/tp5_demo/public/
#🎜 입력

이 URL은 htdocs 폴더 아래의 /tp5_demo/public/index.php 파일에 대한 액세스를 나타냅니다. 이유는 무엇입니까?

http://localhost를 입력하면 Apache는 httpd.conf 파일에 지정된 DocumentRoot 경로에 액세스합니다. Zhao Tongxie의 경우 E:/xampp7/htdocs입니다.

그리고 끝에 /tp5_demo/public을 연결하면 DocumentRoot 경로 아래의 /tp5_demo/public 폴더에 액세스한다는 의미입니다.

그럼 결국 index.php 파일은 왜 있는 걸까요? 이는 index.php, index.html 및 기타 파일을 항목 파일로 정의하는 DirectoryIndex를 정의하는 httpd.conf 파일에 또 다른 속성이 있기 때문입니다. (뭐? 왜 사진이 없다고 생각하시나요? httpd.conf 파일을 직접 살펴보세요)

ThinkPHP에서 액세스 주소가 지정되지 않으면 다음의 Index 컨트롤로 라우팅됩니다. 기본적으로 인덱스 모듈입니다. 컨테이너의 index() 메서드입니다.

즉,

http://localhost/tp5_demo/public/

http://localhost/tp5_demo/public/index /를 입력합니다. index/index

은 동일한 효과를 갖습니다.

2. 컨트롤러

MVC 아키텍처에서 컨트롤러는 일반적으로 다음 기능만 담당합니다.

#🎜 🎜 #매개변수 확인

콜 서비스

콜 모델

출력 결과

ThinkPHP 프레임워크에서 컨트롤러 구축 그냥 생성 해당 모듈의 컨트롤러 모듈에 새로운 클래스가 있습니다.

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() 메서드를 인덱스 컨트롤러에 추가할 수 있습니다.

ThinkPHP 프레임워크에 대해 알아야 할 사항 6. 요약# 🎜 🎜#

이 장에서는 널리 사용되는 세 가지 MVC 구성 요소의 기본 사용법과 라우팅 개념을 소개합니다.

아이들은 백엔드 인터페이스의 워크플로우, 즉 라우팅->컨트롤러->모델(->뷰)을 대략적으로 마스터했어야 합니다.

위 내용은 ThinkPHP 프레임워크에 대해 알아야 할 사항의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 juejin.im에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제