>백엔드 개발 >PHP 튜토리얼 >thinkPHP 프레임워크에서 다중 레이어 컨트롤러 및 다중 레벨 컨트롤러 사용 정보

thinkPHP 프레임워크에서 다중 레이어 컨트롤러 및 다중 레벨 컨트롤러 사용 정보

不言
不言원래의
2018-06-14 15:29:572657검색

이 글에서는 주로 TP(thinkPHP) 프레임워크 멀티레이어 컨트롤러와 멀티레벨 컨트롤러의 사용법을 소개하고, thinkPHP 프레임워크 멀티레이어 컨트롤러와 멀티레벨 컨트롤러의 구조, 원리, 사용법을 예시 형태로 분석합니다. 친구가 참고할 수 있습니다

이 글에서는 TP(thinkPHP) 프레임워크에서 다층 컨트롤러와 다단계 컨트롤러의 사용법을 예제를 통해 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

다층 컨트롤러의 디렉터리 구조는 다음과 같습니다.

├─Controller 액세스 컨트롤러
│ ├─UserController.class.php
│ ├─BlogController .class.php
│ ...
├─이벤트 이벤트 컨트롤러
│ ├─UserEvent.class.php
│ ├─BlogEvent.class.php
│ ...

멀티 레이어 추가 컨트롤러를 앱 애플리케이션에 추가하려면 매개변수를 추가할 필요 없이 위와 같이 직접 파일을 생성하기만 하면 됩니다.

다중 레벨 컨트롤러 인스턴스화:

/*
 * 多层控制器实例化 即和访问控制器Controller同级目录的Service时 可用D方法或A方法
 * 注:访问控制器的名称是通过DEFAULT_C_LAYER设置的,默认是Controller,访问控制器负责外部交互响应,
    其它的控制器层和外部隔离,只能内部调用。定义其他的控制器层,则不一定必须要继承系统的Controller类或其子类,通常需要输出模版的时候才需要继承Controller类。
 */
D('Admin', 'Service');
//或者
A('User','Event');
A('Admin/Blog','Event');  //假设当前模块是Home模块
// 实例化Home模块的User事件控制器
$User = new \Home\Event\UserEvent();
// 实例化Admin模块的Blog事件控制器
$Blog = new \Admin\Event\BlogEvent();

다중 레벨 컨트롤러의 디렉터리 구조는 다음과 같습니다.

├─Controller Access Controller
│ ├─User User Level │
│ │ ├─ConfigController.class.php
│ ...


액세스 형식:

http://serverName/Home/User/UserType

http://serverName/Home/Admin/User


다중 레벨 컨트롤러로 설정하려면 구성 매개변수 설정이 필요합니다. 즉, 컨트롤러의 계층적 레벨을 설정해야 합니다. 예를 들어 2레벨 디렉터리의 컨트롤러 레이어를 다음과 같이 설정합니다.

'CONTROLLER_LEVEL'   => 2,

명령 공간은 다음과 같습니다.

<?php
namespace Home\Controller\Admin;
use Think\Controller;
class IndexController extends Controller {
  public function hello(){
    echo &#39;hello&#39;;
  }
  public function test(){
    echo &#39;test&#39;;
  }
}

다중 레벨 컨트롤러의 인스턴스화:

직접 인스턴스화할 수 있습니다

// 实例化Home模块的User控制器
$User = new \Home\Controller\User\UserTypeController();
// 实例化Admin模块的Blog控制器
$Blog = new \Admin\Controller\Admin\UserController();

위 내용이 이 글의 전체 내용입니다. 모두의 학습에 도움이 될 것입니다. 더 많은 관련 내용이 있으니 PHP 중국어 홈페이지를 주목해주세요!

관련 권장사항:

ThinkPHP3.2 프레임워크의 사용자 정의 구성 및 로딩 사용에 대해

thinkPHP 프레임워크가 다중 테이블 쿼리를 구현하는 방법


위 내용은 thinkPHP 프레임워크에서 다중 레이어 컨트롤러 및 다중 레벨 컨트롤러 사용 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.