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

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

Apr 30, 2020 am 10:18 AM
thinkphp5 thinkphp6

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으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Pagoda에 thinkphp5를 배포할 때 오류가 발생하면 어떻게 해야 합니까? Pagoda에 thinkphp5를 배포할 때 오류가 발생하면 어떻게 해야 합니까? Dec 19, 2022 am 11:04 AM

Pagoda에 thinkphp5를 배포할 때 보고된 오류에 대한 해결 방법: 1. Pagoda 서버를 열고 php pathinfo 확장을 설치하고 활성화합니다. 2. "RewriteRule ^(.*)$ index.php 콘텐츠로 ".access" 파일을 구성합니다. ?s=/$1 [QSA ,PT,L]”; 3. 웹사이트 관리에서 thinkphp의 pseudo-static을 활성화하면 됩니다.

thinkphp5 URL 재작성이 실패하면 어떻게 해야 합니까? thinkphp5 URL 재작성이 실패하면 어떻게 해야 합니까? Dec 12, 2022 am 09:31 AM

thinkphp5 URL 재작성이 작동하지 않는 해결 방법: 1. mod_rewrite.so 모듈이 httpd.conf 구성 파일에 로드되었는지 확인합니다. 2. AllowOverride None에서 None을 All로 변경합니다. 3. Apache 구성 파일 .htaccess를 "RewriteRule ^ (.*)$ index.php [L,E=PATH_INFO:$1]" 하고 저장하세요.

thinkphp5에서 요청된 URL을 얻는 방법 thinkphp5에서 요청된 URL을 얻는 방법 Dec 20, 2022 am 09:48 AM

요청된 URL을 얻는 thinkphp5의 방법: 1. 현재 URL 정보를 얻기 위해 "\think\Request" 클래스의 "$request = Request::instance();" 방법을 사용합니다. 도메인 이름을 포함한 전체 URL 주소를 얻으려면 "$request-> url()" 함수를 사용하세요.

thinkphp5 제목 표시줄 아이콘을 제거하는 방법 thinkphp5 제목 표시줄 아이콘을 제거하는 방법 Dec 20, 2022 am 09:24 AM

thinkphp5 제목 표시줄 아이콘을 제거하는 방법: 1. thinkphp5 프레임워크 공개에서 favicon.ico 파일을 찾습니다. 2. 파일을 삭제하거나 다른 사진을 선택하여 이름을 favicon.ico로 바꾸고 원본 favicon.ico 파일을 대체합니다.

thinkphp5 게시물이 값을 얻을 수 없으면 어떻게 해야 합니까? thinkphp5 게시물이 값을 얻을 수 없으면 어떻게 해야 합니까? Dec 06, 2022 am 09:29 AM

thinkphp5 게시물은 TP5가 strpos 함수를 사용하여 헤더의 콘텐츠 유형 값에서 app/json 문자열을 찾기 때문에 값을 얻을 수 없습니다. 해결 방법은 헤더의 콘텐츠 유형 값을 app/json으로 설정하는 것입니다.

thinkphp6에서 iframe을 대체하는 데 사용할 것 thinkphp6에서 iframe을 대체하는 데 사용할 것 Nov 24, 2023 pm 03:54 PM

iframe 대신 Ajax 및 프런트엔드 프레임워크를 사용할 수 있습니다. 자세한 소개: 1. Ajax를 사용하여 비동기 요청을 통해 서버에서 반환된 데이터를 얻은 다음 JavaScript를 사용하여 지정된 DOM 요소에 데이터를 삽입하여 부분 새로 고침을 수행합니다. jQuery의 $.ajax() 메소드 또는 기본 XMLHttpRequest 객체를 사용하여 Ajax 요청을 보낼 수 있습니다. 2. 널리 사용되는 프런트 엔드 프레임워크를 사용하여 페이지의 상태와 구성 요소를 보다 효율적으로 관리하고 콘텐츠의 동적 로드 및 업데이트를 달성합니다.

thinkphp5에서 컨트롤러가 존재하지 않는다는 메시지가 표시되면 어떻게 해야 합니까? thinkphp5에서 컨트롤러가 존재하지 않는다는 메시지가 표시되면 어떻게 해야 합니까? Dec 06, 2022 am 10:43 AM

컨트롤러가 존재하지 않는다고 메시지를 표시하는 thinkphp5에 대한 해결 방법: 1. 해당 컨트롤러의 네임스페이스가 올바르게 작성되었는지 확인하고 올바른 네임스페이스로 변경합니다. 2. 해당 tp 파일을 열고 클래스 이름을 수정합니다.

ThinkPHP5에서 어제의 데이터를 쿼리하는 방법 ThinkPHP5에서 어제의 데이터를 쿼리하는 방법 Dec 05, 2022 am 09:20 AM

ThinkPHP5에서 어제의 데이터를 쿼리하는 방법: 1. ThinkPHP5 관련 파일을 엽니다. 2. "db('table')->whereTime('c_time', 'yesterday')->select();" 표현식을 통해 어제의 데이터를 쿼리할 수 있습니다. .

See all articles