>  기사  >  PHP 8이 나왔습니다! PHP 팀, 첫 번째 베타 버전 Alpha1 출시

PHP 8이 나왔습니다! PHP 팀, 첫 번째 베타 버전 Alpha1 출시

PHPz
PHPz원래의
2020-06-28 14:03:087776검색

php8은 언제 출시되나요? PHP 개발자들은 2020년 6월 25일에 PHP8 릴리스 주기의 공식 출시를 알리는 첫 번째 테스트 버전 Alpha1(PHP 8.0.0)을 출시했습니다.

PHP 8이 나왔습니다! PHP 팀, 첫 번째 베타 버전 Alpha1 출시

공식 PHP 8.0.0 첫 번째 버전 출시 발표는 다음과 같습니다:

PHP 8이 나왔습니다! PHP 팀, 첫 번째 베타 버전 Alpha1 출시

PHP 8 출시 알파 버전, 다운로드 주소:

https://www.php.net/archive / 2020.php

PHP 8.0.0 하이라이트:

PHP 8은 몇 가지 주요 변경 사항과 많은 새로운 기능 및 성능 개선 사항을 도입한 새로운 주요 버전입니다. 다음은 몇 가지 주요 사항에 대한 간략한 소개입니다.

  • JIT, Just-In-Time, Just-In-Time 컴파일

  • 모두가 가장 관심을 갖는 기능은 바로 JIT입니다. 이 기능은 수년 동안 개발되어 왔으며 PHP 5 및 7의 주요 버전 시리즈에서 살아남았습니다(PHP 6 프로젝트는 중단되었습니다). PHP 8에 포함될 것이라는 투표를 통해 최종적으로 확인된 것은 작년 3월이었습니다. .

JIT는 코드를 중간 상태로 표현하고 런타임 시 시스템 종속 상태로 변환하는 컴파일러 전략(참고 기사:

PHP JIT란 무엇입니까? PHP8 새로운 기능 JIT 그래픽 설명

)입니다. 즉석에서 실행하십시오. PHP에서 이는 JIT가 Zend VM에 의해 생성된 명령을 중간 표현으로 처리하고 이를 아키텍처 종속 기계 코드에서 실행한다는 것을 의미합니다. 즉, 코드를 호스팅하는 것은 더 이상 Zend VM이 아니라 기본 CPU입니다. PHP 7.0 이후 핵심 데이터 구조 HashTable을 최적화하고 Zend VM의 특정 opcode를 강화하며 OPCache의 Optimizer 구성 요소를 지속적으로 개선하여 PHP 성능이 크게 향상되었지만 실제로 이러한 최적화에는 한계가 있는 것 같습니다. 이제 JIT는 바닥부터 시작하여 PHP 성능을 향상시키는 가장 좋은 방법으로 간주됩니다.

JIT 도입 후 성능 비교(및 PHP 8의 전반적인 성능)는 이번 달 Phoronix 벤치마크 테스트를 참고하세요. (참고: 테스트는 5월 말 소스 코드 빌드 버전을 사용하여 수행되었습니다.)

  • Union Types, Union Types

Union Types는 서로 다른 유형의 여러 값 수신을 지원하며, 사용 시 하나를 선택할 수 있습니다. 공용체 유형의 사용은 PHP를 포함하여 오픈 소스 생태계의 표준 라이브러리에서 매우 일반적입니다. 공용체 유형에 대한 PHP의 지원을 통해 phpdoc에서 함수 서명으로 더 많은 유형 정보를 마이그레이션할 수 있습니다. 제네릭 다음으로 공용체 유형이 현재 유형 선언 시스템에서 가장 큰 혁신이라고 할 수 있습니다.

  • 속성, 주석

여기서의 속성은 문서 블록을 구문 분석하지 않고 클래스에 메타데이터를 추가하는 방법을 제공하는 다른 언어의 주석(주석)입니다.

자세히 알아보기:
PHP8의 새로운 기능: 속성

  • 새로운 정적 반환 유형

자체 반환이 가능하지만 PHP는 동적 유형의 특성을 가지고 있다는 점을 고려하면 , 8의 정적 반환 유형에 대한 PHP 지원은 더 효율적이며 많은 개발자에게 매우 유용할 것입니다.

  • WeakMaps

WeakMaps를 사용하면 키로 사용되는 개체가 가비지 수집되는 것을 방지하지 않고도 개체에서 임의의 값(SplObjectStorage와 유사)으로 매핑을 생성할 수 있습니다. 개체가 WeakMap에 추가되는 한, GC는 조건이 트리거될 때 해당 개체가 차지한 메모리를 회수할 수 있습니다.

PHP 7.4에서는 실제로 WeakReference에 대한 지원이 도입되었습니다. 그러나 원시 약한 참조 자체는 사용이 제한되어 있으며 실제로는 약한 매핑이 더 일반적으로 사용됩니다. 소멸 콜백을 등록하는 기능이 제공되지 않기 때문에 PHP 약한 참조 위에 효율적인 약한 매핑을 구현하는 것은 불가능합니다. 약한 매핑의 일반적인 사용 사례는 데이터를 활성 상태로 유지하지 않고 개별 개체 인스턴스와 연결하여 불필요하게 메모리를 차지하는 장기 실행 프로세스를 방지하는 것입니다.

WeakMap/WeakReference에 대해서는 이 기사의 WeakRef 부분을 참조할 수 있습니다. 비록 JS에 관한 것이지만 원칙은 동일합니다:

https://www.html.cn/web/javascript/19449 .html

더 많은 관련 기능을 보려면 다음을 참조하세요.

또한 투표 단계에 있는 몇 가지 기능도 확인했습니다(즉, 곧 특정 버전에 통합될 수 있음). , 일치 표현식( Match 표현식)과 > 대신 @@ 또는 #[]을 사용하라는 제안은 주목할 가치가 있습니다.

PHP 8이 나왔습니다! PHP 팀, 첫 번째 베타 버전 Alpha1 출시

PHP 8은 몇 가지 주요 변경 사항이 포함된 주요 업데이트 버전이므로 관련 사항은 UPGRADING 문서를 확인하는 것이 가장 좋습니다. 그러나 실제로 이러한 주요 변경 사항 중 상당수는 이전 7.* 버전에서 이미 도입되었으므로 최신 상태를 유지하고 있다면 PHP 8로 업그레이드해도 큰 영향을 미치지 않습니다.

UPGRADING 文档

요약

PHP 8의 성공은 두 번째 JAVA이며, 수많은 다른 언어 개발자들이 PHP 캠프로 돌아올 것입니다! 결국 빠르고 쉽습니다! 함께 기대해 봅시다!

【관련 추천】

php 버전 개발 이력(1995~2020)

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