thinkphp3.2.2 프론트엔드 및 백엔드 공통 클래스 아키텍처 문제 분석_php 예제

WBOY
풀어 주다: 2016-05-16 20:30:18
원래의
992명이 탐색했습니다.

이 글은 thinkphp3.2.2의 프론트엔드와 백엔드 공통 클래스 아키텍처 문제를 예시를 통해 분석합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

3.13 이전에는 많은 프로젝트에서 공통 프런트엔드 및 백엔드 클래스를 사용했는데, 3.2.2에서는 많은 사람들이 A를 사용하여 이를 호출하는 것을 발견했습니다. A를 사용하여 매번 호출하는 것은 매우 번거로운 일이었습니다. 편집자는 의도적으로 게으른 것입니다. 개인 테스트에서는 이를 해결하기 위해 다음과 같은 방법을 사용합니다. 관심있는 친구들은 그것을 강화하고 개선할 수 있습니다!

thinkphp3.2.2는 다음과 같이 Application/Common/Controller/BaseController.class.php를 생성합니다

코드 복사 코드는 다음과 같습니다.
네임스페이스 CommonController;
ThinkController를 사용하세요.
/**
* 프론트엔드와 백엔드의 공통 기본 클래스
* 작성자 수정: Jack
* 수정시간 : 2014-7-12
*/
BaseController 클래스는 Controller를 확장합니다.{
                             
​​​​ 공개 함수 _initialize() {//전역 변수
dump('기본 클래스');
$this->cfg();
}
}

홈/Controller/ZixunController.class.php

코드 복사 코드는 다음과 같습니다.

네임스페이스 HomeController;
CommonControllerBaseController를 사용하세요.
클래스 ZixunController는 BaseController를 확장합니다. {

공개 함수 인덱스() {
          $result = $this->lists();
          덤프($result);
}
}

물론 프런트엔드와 백엔드에 자체 기본 클래스를 생성할 수도 있습니다. 예를 들어 백엔드에서 AdminController.class.php를 생성하고 BaseController.class.php를 상속하고, 프런트엔드에서 HomeController를 생성하면 됩니다. class.php를 상속하고 BaseController.class.php를 상속하면 각 모듈은 자체 기반 클래스를 상속하므로 프로젝트가 더 명확해지고, 재창조를 피할 수 있으며, 많은 것을 저장할 수 있습니다. 그러나 각 클래스는 다음과 같이 해야 한다는 점에 유의해야 합니다. 네임스페이스를 선언하지만 사용된 리소스는 나중에 다시 작성할 필요 없이 해당 기본 클래스에서 정의할 수 있습니다. 예를 들어, AdminController.class.php가 BaseController.class.php를 상속받은 경우 use ThinkController를 작성할 필요가 없습니다. 그냥 use CommonControllerBaseController를 사용하세요.

이 글이 모든 분들의 ThinkPHP 프레임워크 프로그래밍에 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿