모든 WEB 동작은 모듈의 작업으로 간주될 수 있으며 시스템은 현재 URL을 기반으로 수행할 모듈과 작업을 분석합니다. 이 분석 작업은 URL 스케줄러에 의해 구현되며 공식 내장 Dispatcher 클래스가 스케줄링을 완료합니다. Dispatcher 스케줄러에서는
http://servername/appName/moduleName/actionName/params
를 기반으로 현재 실행해야 하는 프로젝트(appName), 모듈(moduleName) 및 작업(actionName)을 가져옵니다. . 어떤 경우에는 appName이 필요하지 않습니다(일반적으로 프로젝트 이름을 항목 파일에 지정할 수 있기 때문에 웹사이트의 홈페이지입니다. 이 경우 appName은 항목 파일로 대체됩니다). 보다 복잡한 상황에서는 그룹화(groupName)가 나타날 수도 있습니다.
각 모듈은 일반적으로 컨트롤러라고 부르는 것과 유사한 액션 파일입니다. 시스템은 프로젝트 클래스 라이브러리의 액션 디렉터리에서 관련 클래스를 자동으로 찾습니다. 찾을 수 없으면 빈 모듈을 찾습니다. 예외가 발생합니다.
actionName 작업은 먼저 Action 클래스의 공개 메소드가 있는지 확인하는 것입니다. 존재하지 않으면 상위 클래스에서 해당 메소드를 계속 찾습니다. 자동으로 일치하는 템플릿 파일이 있는지 여부. 템플릿 파일이 있으면 템플릿 출력이 직접 렌더링됩니다.
따라서 애플리케이션 개발에서 중요한 프로세스는 다양한 모듈에 대한 특정 작업을 정의하는 것입니다. 애플리케이션이 데이터베이스와 상호 작용할 필요가 없는 경우 모델 클래스를 정의할 필요는 없지만 작업 컨트롤러를 정의해야 합니다. Action 컨트롤러의 정의는 매우 간단합니다. 예를 들어 극세사 천
코드 복사 코드는 다음과 같습니다.
class UserAction 확장 Action{
}
코드 복사 코드는 다음과 같습니다. :
class UserAction 확장 Action{
// 추가 작업 메서드를 정의합니다. 작업 메서드에는 매개변수가 필요하지 않습니다.
공용 함수 add(){
// 추가 작업 메서드의 논리 구현
//… … 목욕 깔개
$this->display() // 출력 템플릿 페이지
}
}
이상은 thinkpade400578mdc의 내용을 포함하여 thinkpade400578mdc ThinkPHP의 모듈과 동작분석을 소개한 내용인데, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.