ThinkPHP의 컨트롤러는 사용자 입력을 받아들이고 사용자 요구를 충족하기 위해 모델과 뷰를 호출하는 클래스입니다. 컨트롤러 계층은 애플리케이션 스케줄링 제어를 담당하는 핵심 컨트롤러와 비즈니스 컨트롤러로 구성되며, 비즈니스 컨트롤러는 완성된 사용자 정의 컨트롤러 클래스로 구성됩니다. .
이 튜토리얼의 운영 환경: Windows 7 시스템, thinkphp v5.1 버전, Dell G3 컴퓨터.
ThinkPHP는 MVC(Model-View-Controller, Model-View-Controller) 패턴을 기반으로 하며 멀티 레이어(Multi-Layer) 디자인을 지원합니다.
MVC는 애플리케이션의 입력, 처리 및 출력을 분리하도록 하는 디자인 패턴입니다. MVC를 사용하면 애플리케이션은 모델(M), 뷰(V), 컨트롤러(C)의 세 가지 핵심 구성 요소로 나누어지며, 각 구성 요소는 자체 작업을 처리합니다.
컨트롤러 레이어
ThinkPHP의 컨트롤러는 클래스입니다.
ThinkPHP의 컨트롤러 레이어는 코어 컨트롤러와 비즈니스 컨트롤러로 구성됩니다. 코어 컨트롤러는 시스템 내부의 App 클래스에 의해 완성되며 HTTP 요청 차단 및 작업을 포함한 애플리케이션(모듈, 컨트롤러 및 작업 포함)의 스케줄링 제어를 담당합니다. 전달, 로드 구성 등 비즈니스 컨트롤러는 사용자 정의 컨트롤러 클래스로 완성됩니다. 다층 비즈니스 컨트롤러의 구현 원리는 비즈니스 컨트롤러 및 이벤트 컨트롤러와 같은 모델의 계층화와 유사합니다.
Controller/UserController //사용자 비즈니스 로직 제어 및 스케줄링에 사용됨
Event/UserEvent //사용됨 사용자의 이벤트 응답 작업
액세스 컨트롤러 Home/Controller/UserController.class.php는 다음과 같이 정의됩니다.
namespace Home\Controller; use Think\Controller; class UserController extends Controller{ }
이벤트 컨트롤러 Home/Event/UserEvent.class.php는 다음과 같이 정의됩니다.
namespace Home\Event; use Think\Controller; class UserEvent extends Controller{ }
UserController는 외부 작업을 담당합니다. 상호 작용 응답, http://serverName/User/index와 같은 URL을 통한 요청 응답 및 UserEvent는 내부 이벤트 응답을 담당하며 내부적으로만 호출할 수 있습니다.
A('User','Event');
기본 액세스 컨트롤러 계층은 컨트롤러입니다.
'DEFAULT_C_LAYER' => 'Event', // 默认的控制器层名称改为Event
그래서 외부 세계와 격리되어 있습니다.
다층 컨트롤러의 구분은 필수가 아니며 애플리케이션의 필요에 따라 자유롭게 계층화할 수 있습니다. 컨트롤러 계층에서는 필요에 따라 계층화된 모델을 호출하거나 다른 계층화된 뷰(테마)를 호출할 수 있습니다.
MVC의 세 가지 레이어에서 ThinkPHP는 M이나 V에 의존하지 않습니다. C만 있거나 V만 있을 수도 있습니다. 이는 ThinkPHP 디자인에서 매우 중요한 사용자 경험 디자인입니다. C가 없으면 자동으로 인식될 수도 있습니다.
【관련 튜토리얼 추천: thinkphp Framework】
위 내용은 thinkphp 컨트롤러가 뭐야?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!