>  기사  >  ThinkPHP6.0이 오늘 공식 출시되었습니다.

ThinkPHP6.0이 오늘 공식 출시되었습니다.

藏色散人
藏色散人앞으로
2019-10-24 10:41:524794검색

2019년 10월 24일 출시

1년 넘게 구축한 ThinkPHP 6.0 공식 버전이 정식 출시되었습니다. 이 버전은 간소화된 코어와 통합된 사용이라는 두 가지 원칙을 기반으로 하며, 기본 기능을 더욱 향상시킵니다. 5.1 최적화 개선 및 추가 표준화를 기반으로 한 아키텍처.

일부 새로운 기능 도입으로 인해 ThinkPHP6.0 운영 환경에는 PHP7.1+(PHP7.3+ 권장)가 필요하며 5.1로의 원활한 업그레이드를 지원하지 않습니다(공식 업그레이드 지침 제공).

추천 비디오 튜토리얼: "ThinkPHP6.0 Quick Start"

주요 기능:

● PHP7 강력한 타이핑(엄격 모드) 사용

● 더 많은 PSR 사양 지원

● 다중 애플리케이션 지원

● ORM 구성 요소 독립

● 향상된 미들웨어 메커니즘

● 핵심 아키텍처 서비스 지향

● 새로운 이벤트 시스템

● 컨테이너 기능 향상

● 템플릿 엔진 구성 요소 독립

● 내부 기능 미들웨어

● SESSION 메커니즘 개선

● 캐시 및 로그 지원 다중 채널

● 파일 시스템 구성 요소 소개

● 향상된 Swoole 및 코루틴 지원

● IDE에 더 친숙함

● 많은 사용을 통합하고 간소화

강력한 입력 및 엄격 모드

주류 프레임워크 중에서 ThinkPHP6.0은 PHP7 엄격 모드를 최초로 채택했습니다. 모든 코어 파일에는 엄격 모드 유형 제약 조건이 켜져 있으므로 변수 유형이 일치하지 않으면 예외가 발생합니다. 이는 코드의 변수 유형을 표준화하고 잠재적인 문제를 사전에 감지하는 데 도움이 됩니다.

다중 애플리케이션 모드

프레임워크의 새 버전은 다중 애플리케이션 모드 지원을 제공합니다. 기본 설치는 단일 애플리케이션이므로 반복 없이 여러 애플리케이션을 보다 쉽게 ​​배포할 수 있습니다. 종속 구성 요소 설치 각 응용 프로그램은 독립적인 포털 액세스 및 도메인 이름 바인딩을 지원하며 하나의 포털 파일을 사용하여 자동 다중 응용 프로그램 배포를 구현할 수도 있습니다. 그리고 자동 다중 애플리케이션 모드는 지능형 식별을 지원하며 존재하지 않는 애플리케이션에 액세스할 때 일치를 위해 단일 애플리케이션 모드로 자동 전환됩니다. 또한 애플리케이션 매핑 및 액세스 금지 메커니즘도 지원합니다.

다중 애플리케이션 모드의 설계는 각 애플리케이션의 구성, 라우팅 및 보기가 애플리케이션 디렉토리에 포함될 수 있기 때문에 개발을 더욱 모듈화할 수 있으므로 애플리케이션을 모듈화하고 작성기 애플리케이션을 도입하는 것이 더 쉽습니다.

컨테이너 및 서비스

새 버전의 컨테이너는 PSR-11 사양을 지원합니다. 컨테이너 클래스의 기능적 특징은 주로 다음과 같습니다. 존재하는 경우 직접) 가져오기)

● 컨테이너 개체 바인딩 별칭

● 컨테이너 개체(인스턴스화) 콜백 지원

● 컨테이너 개체 인스턴스 가져오기

● 컨테이너에서 개체 인스턴스 삭제

● 종속성 주입 및 Facade 구현 지원 제공

● 컨테이너 개체 인스턴스의 메서드(또는 클로저) 호출

● 컨테이너 개체에 대한 ArrayAccess 지원 제공

이벤트 시스템

새 버전의 이벤트 시스템은 5.1 버전의 업그레이드 버전이라고 볼 수 있습니다. 행동 시스템에 비해 이벤트 시스템은 이벤트 자체가 클래스가 될 수 있고 이벤트 구독자를 더 잘 지원할 수 있다는 장점이 있습니다. 이벤트 스마트 구독을 지원하고 반사 메커니즘을 사용하여 현재 구독자가 구독하려는 이벤트를 식별합니다. 미들웨어에 비해 이벤트의 장점은 이벤트가 미들웨어보다 더 정확하게 배치(또는 더 세부적으로)되며 일부 비즈니스 시나리오의 확장에 더 적합하다는 것입니다. 예를 들어, 우리는 일반적으로 등록이나 로그인 후 일련의 작업을 수행해야 하는 사용자를 접하게 됩니다. 이벤트 시스템을 통해 원래 코드를 침해하지 않고 로그인 작업 확장을 완료할 수 있으며 이는 시스템의 결합을 줄일 뿐만 아니라 또한 BUG 가능성을 줄입니다.

미들웨어 지원이 완벽합니다

미들웨어는 글로벌 미들웨어, 애플리케이션 미들웨어, 라우팅 미들웨어, 컨트롤러 미들웨어로 구분됩니다. 이 네 가지 미들웨어 그룹은 완전히 독립적으로 실행되지만, 같은 그룹에 속한 미들웨어는 반복적으로 실행되지 않습니다. 미들웨어 메소드는 요청 완료를 위한 종속성 주입 및 콜백 메커니즘을 수행합니다. 미들웨어 메커니즘을 사용하여 실행되는 다중 애플리케이션 모드를 포함하여 많은 핵심 기능이 미들웨어 기반으로 완성됩니다.

라우팅 및 요청

라우팅의 새 버전은 많은 불필요한 기능을 간소화하고, 라우팅 정의가 더욱 표준화되고 의미론적이며, 라우팅 정의 파일이 모듈식 개발을 용이하게 하기 위해 애플리케이션 디렉터리에 포함되는 것을 지원합니다. 라우팅 주석 기능은 think-annotation 라이브러리와 독립적이며 사용이 더욱 표준화되었으며 IDE 프롬프트를 지원합니다. 요청 개체의 새 버전은 기본 설치 후 appRequest 클래스를 제공하여 애플리케이션에서 직접 요청 개체를 사용자 정의하고 필요한 속성과 메서드를 추가할 수 있습니다. 그러나 thinkRequest에 대한 종속성 주입 및 Facade 호출에는 영향을 미치지 않습니다.

시스템 서비스

핵심 프레임워크는 서비스 지향 설계를 채택하므로 확장 프로그램이나 애플리케이션에 필요한 서비스를 등록할 수 있습니다. 시스템 서비스의 개체를 컨테이너에 등록하거나 특정 개체에 관련 종속성 주입을 수행합니다. 시스템 서비스의 실행 우선순위로 인해 실행 시 관련 구성 요소가 관련 종속성 주입을 완료했는지 확인할 수 있습니다. 서비스 클래스에는 일반적으로 다양한 단계에서 실행하기 위한 등록 및 부팅 방법이 포함됩니다.

ORM 구성요소화

내장된 ORM 기능은 think-orm 구성요소로서 완전히 독립적이며 독립적으로 사용할 수 있습니다. ThinkPHP6.0은 기본적으로 이 구성요소를 설치하므로 동일한 사용법을 유지하고 향상됩니다. 쿼리 기능.

템플릿 엔진이 컴포넌트화되었습니다

코어에는 더 이상 내장 템플릿 엔진이 없으며 PHP 템플릿 지원만 제공합니다. 공식 템플릿 엔진은 독립적으로 think-template 템플릿 엔진이라고 불리며 기본 종속성으로 설치됩니다. 타사 템플릿 엔진을 보다 편리하게 사용할 수 있습니다.

로그 시스템

로그는 여러 채널을 지원하고 주로 다음을 포함하여 명령줄 및 웹 로그 형식을 통합합니다.

● 로그는 다중 채널 지원을 추가하고 동시에 여러 채널에 기록하거나 전환할 수 있습니다.

● WEB 및 CLI 로그 기록 형식이 통일되고 로그 형식을 지원합니다

● JSON 로그 형식 개선

● 로그 쓰기 이벤트 지원

세션 메커니즘 개선

버전 6.0의 세션 메커니즘이 완전히 재작성되었습니다. 더 이상 사용되지 않습니다. PHP의 내장 세션 메커니즘은 Swoole/Workerman 및 기타 환경을 더 잘 지원하기 위해 새로운 세션 메커니즘을 구현합니다.

따라서 PHP에 내장된 session_*** 일련의 함수는 더 이상 지원되지 않으며 $_SESSION을 사용하여 세션 데이터를 읽는 것도 지원되지 않습니다. 또한 프레임워크에서 제공하는 Session 클래스 또는 Facade를 통해 작동해야 합니다. 세션 데이터 읽기를 캡슐화합니다.

Session은 애플리케이션 간 읽기 및 사용자 정의 직렬화 메커니즘을 지원합니다. 기본적으로 파일 유형은 공유 캐시 메커니즘으로 인해 세션 데이터를 기록하는 데 사용됩니다.

파일 시스템 구성 요소 소개

새 버전에는 파일 시스템에 대한 지원을 강화하기 위해 파일 시스템 클래스 라이브러리가 추가되었으며, Alibaba Cloud 및 Qiniu Cloud를 포함한 다양한 클라우드 저장소를 쉽게 지원할 수 있습니다.

Swoole 확장 개선

Swoole 확장은 HTTP와 소켓 서비스를 모두 지원하고 데이터베이스 및 캐시 연결 풀 기능과 RPC 기능을 지원합니다.

디버깅 도구 업데이트

원래 내장된 Trace 디버깅 도구가 확장 모드로 변경되었으며 대신 Think-Trace 확장이 설치됩니다. Composer를 통해 애플리케이션을 설치하면 topthink/think-trace가 설치됩니다. 확장 프로그램은 기본적으로 설치됩니다.

기본 사용법은 이전과 동일하지만 추가 구성이 필요하지 않습니다. 기본적으로 브라우저 콘솔 표시를 지원하며 디버깅 모드에서만 유효합니다.

동시에 debugbar 기반의 디버깅 확장 Think-debugbar가 추가되었으며, 이를 사용하려면 별도로 설치해야 합니다.

composer require topthink/think-debugbar

다양한 용도의 통합 및 합리화

새 버전에서는 개발 과정에서 일관되지 않은 사양으로 인한 혼란을 피하기 위해 많은 용도를 간소화하고 통합했습니다.

개발 매뉴얼

자세한 내용은 ThinkPHP6.0의 "TP6 전체 개발 매뉴얼"을 확인하세요

ThinkPHP는 초심과 끈기로 항상 개선과 업데이트를 고집해 왔으며, 지속적으로 여러 릴리스를 출시해 왔습니다. 지난 13년 동안 빅 버전이었습니다. 실제로 ThinkPHP 역사상 주요 버전들은 18개월 넘게 지원과 유지 관리를 제공해왔습니다. 현재 ThinkPHP 주요 버전에 대한 유지 관리 계획 발표는 다음과 같습니다:

ThinkPHP6.0이 오늘 공식 출시되었습니다.

ThinkPHP6.0 GitHub 주소:

https://github.com/top-think/think?tdsourcetag=s_pctim_aiomsg

https://github.com/top-think/framework?tdsourcetag=s_pctim_aiomsg

성명:
이 기사는 thinkphp에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제