>  기사  >  PHP 프레임워크  >  ThinkPHP6의 새로운 "다중 애플리케이션"과 ThinkPHP5의 차이점은 무엇입니까?

ThinkPHP6의 새로운 "다중 애플리케이션"과 ThinkPHP5의 차이점은 무엇입니까?

王雪芹
王雪芹원래의
2020-04-30 10:18:332933검색

ThinkPHP6中新增了一个叫做“多应用”的名词,这个在ThinkPHP5에 없는데 이건 뭐에 쓰는 걸까요? PHP 중국어 웹사이트 기고자인 Wang Xueqin의 대화를 들어보세요...

먼저 여러 응용 프로그램의 디렉토리 구조에 대한 ThinkPHP6 공식 매뉴얼을 살펴보세요:

├─app 应用目录
│  ├─index              主应用
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  ├─config          配置目录(优先)
│  │  └─ ...            更多类库目录
│  ├─admin              后台应用
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  ├─config          配置目录(优先)
│  │  └─ ...            更多类库目录
│
├─public                WEB目录(对外访问目录)
│  ├─admin.php          后台入口文件
│  ├─index.php          入口文件
│  ├─router.php         快速测试文件
│  └─.htaccess          用于apache的重写
│
├─config                应用配置目录
│  ├─index              index应用配置
│  └─admin              admin应用配置
│
├─view                视图目录
│  ├─index              index应用视图目录
│  └─admin              admin应用视图目录
│
├─route                 路由定义目录
│  ├─index              index应用路由定义目录
│  └─admin              admin应用路由定义目录
│
├─runtime               运行时目录
│  ├─index              index应用运行时目录
│  └─admin              admin应用运行时目录

(출처: ThinkPHP6.0 Rapid) 개발 매뉴얼(케이스편))

아, ThinkPHP6에 출시된 멀티 애플리케이션이 바로 이런 것인데요. 프론트엔드 인덱스 애플리케이션과 백엔드 관리 애플리케이션이 있는데요. 당시 우리는 ThinkPHP5를 사용할 때 프런트엔드 애플리케이션 인덱스와 백엔드 애플리케이션 관리자도 개발했습니다. 차이점은 무엇입니까?

차이점 1: composer를 통해 다운로드해야 사용할 수 있습니다.

ThinkPHP6 프레임워크는 기본적으로 단일 애플리케이션을 다운로드합니다. 여러 애플리케이션을 사용하려면 다음을 다운로드해야 합니다.

composer require topthink/think-multi-app

차이점 2: 경로 정의는 현재 애플리케이션 아래에 있어야 합니다.

ThinkPHP5에서는 루트 디렉터리에 경로 파일을 정의할 수 있다는 것을 알고 있지만 ThinkPHP6 이후에는 응용 프로그램 디렉터리에 경로를 정의해야 합니다.

차이점 3: ThinkPHP6은 애플리케이션 포털을 지원합니다.

ThinkPHP6에서는 애플리케이션에 대해 별도의 항목 파일을 설정할 수 있습니다. 예를 들어 관리자 애플리케이션의 경우 admin.php 항목 파일에 액세스하도록 설정할 수 있습니다.

차이점 4: 도메인 이름 바인딩 애플리케이션.

예를 들어 ThinkPHP5에서는 www.a.com/index/index/company.html의 경로를 정의한 후 www.a.com/company.html

효과를 얻을 수 있습니다. 그러나 ThinkPHP6에서는 라우팅을 설정한 후에는 항상 www.a.com/index/company.html에서 색인 응용 프로그램을 제거할 수 없습니다. 이 문제를 어떻게 해결할 수 있습니까?

그러면 해결 방법은 도메인 이름 바인딩 애플리케이션을 사용하는 것입니다. config/app.php 구성 파일에서 도메인 이름과 애플리케이션의 바인딩을 다음과 같이 정의합니다.

'domain_bind' => [
'www.a.com' => 'index', // 域名绑定到www应用
'admin.a.com' => 'admin', // admin绑定到后台应用
],

그래서 www.a를 사용할 수 있습니다. com/ company.html 을 방문하셨습니다.

마지막으로:

일반적으로 ThinkPHP6의 다중 애플리케이션은 ThinkPHP5에 비해 여전히 큰 개선 사항입니다. 비록 처음 사용하는 데 약간 번거롭고 작곡가 다운로드가 필요하지만 이는 우리의 선호에 영향을 미치지 않습니다. ThinkPHP6의 다중 응용 프로그램.

【추천 튜토리얼】

1. thinkphp 기술 문서

2 thinkphp 비디오 튜토리얼

위 내용은 ThinkPHP6의 새로운 "다중 애플리케이션"과 ThinkPHP5의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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