thinkphp의 라우팅을 어떻게 이해하나요?
thinkphp 라우팅 기능은 thinkRoute 클래스로 완성됩니다.
개요
ThinkPHP5.0에서 기본적으로 채택한 URL 규칙은 다음과 같습니다.
http://server/module/controller/action/param/value/...
라우팅의 역할은 URL 액세스 주소를 단순화하고 정의된 라우팅 유형을 기반으로 올바른 구문 분석을 수행하는 것입니다.
라우팅 기능의 새 버전에서는 다음을 포함하여 많은 기능이 향상되었습니다.
● 모듈 컨트롤러/작업, 컨트롤러 클래스 메서드, 클로저 함수 및 리디렉션 주소, 심지어 모든 클래스 라이브러리의 메서드에 대한 라우팅을 지원합니다. 클로저 라우팅 강화
● 규칙 라우팅은 전역 및 로컬 변수 규칙 정의(일반)를 지원합니다.
● 모든 수준의 컨트롤러에 대한 라우팅을 지원합니다.
● 하위 도메인 이름 라우팅 기능 개선. 그룹 매개변수 정의
● 리소스 라우팅 및 중첩 지원 추가
● 라우팅 규칙 감지를 위한 동작 또는 사용자 정의 기능 지원
● ThinkPHP5.0 라우팅은 세 가지 URL 구문 분석 규칙을 지원합니다.
5.0의 라우팅은 모듈이 아닌 애플리케이션용이므로 라우팅 설정은 애플리케이션 아래의 모든 모듈에도 적용됩니다. 다른 모듈에서 서로 다른 설정을 구별하려면(예를 들어 일부 모듈은 라우팅을 꺼야 하고 일부 모듈은 필요합니다.) 강제 라우팅 등)을 수행하려면 이 모듈에 별도의 항목 파일을 추가하고 다음과 같이 수정해야 합니다.
// 定义项目路径 define('APP_PATH', __DIR__ . '/../application/'); // 加载框架基础文件 require __DIR__ . '/../thinkphp/base.php'; // 绑定当前入口文件到admin模块 \think\Route::bind('admin'); // 关闭admin模块的路由 \think\App::route(false); // 执行应用 \think\App::run()->send();
V5.0.21+부터 경로 확인 캐싱이 지원됩니다.
구성 파일에서 설정하세요
// 开启路由解析缓存 'route_check_cache' => true,
이 글은 ThinkPHP 프레임워크 기술 기사 칼럼에서 발췌한 것입니다:
http://www.php.cn/phpkj/thinkphp/위 내용은 thinkphp 라우팅을 이해하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!