드디어 PHP8.1이 나왔습니다! ! ! 자세한 내용은 공식 PHP 발표를 참조하세요: https://www.php.net/releases/8.1/en.php
PHP 8.1.0이 출시되었습니다. 이 버전은 많은 개선 사항과 새로운 기능을 제공합니다.
Enumerations
상수 집합 대신 열거형을 사용하고 즉시 유효성을 검사하세요.
읽기 전용 속성
읽기 전용 속성은 초기화 후에, 즉 값을 할당한 후에는 변경할 수 없습니다. 이는 값 객체와 데이터 전송 객체를 모델링하는 데 사용될 수 있습니다.
최고급 호출 가능 구문
이제 모든 함수에 대한 참조를 얻을 수 있습니다.
새 이니셜라이저
이제 객체를 기본 매개변수 값, 정적 변수, 전역 상수는 물론 속성 매개변수로 사용할 수 있으므로 중첩된 속성을 효과적으로 사용할 수 있습니다.
순수 교차 유형
값이 동시에 여러 유형 제약 조건을 충족해야 하는 경우 교차 유형을 사용하세요. 현재 A&B|C와 같은 교차 유형과 통합 유형을 혼합하는 것은 불가능합니다.
Never 반환 유형
never 유형으로 선언된 함수 또는 메서드는 값을 반환하지 않고 예외를 발생시키거나 die(),exit(),trigger_error() 또는 이와 유사한 호출을 통해 발생함을 의미합니다. 스크립트 실행을 종료합니다.
최종 클래스 상수
최종 클래스 상수는 서브클래스에서 재정의되는 것을 방지하기 위해 선언될 수 있습니다.
명시적인 8진수 표현
이제 명시적인 0o 접두사를 사용하여 8진수를 쓸 수 있습니다.
Fibers
Fibers는 경량 협력 동시성을 구현하기 위한 기본 요소입니다. 이는 생성기처럼 일시 중지하고 다시 시작할 수 있지만 스택의 어느 곳에서나 코드 블록을 생성하는 방법입니다. 파이버 자체는 동시성을 제공하지 않으며 이벤트 루프가 여전히 필요합니다. 그러나 차단 및 비차단 구현을 통해 동일한 API를 공유할 수 있습니다. 파이버를 사용하면 이전에 Promise::then() 또는 생성기 기반 코루틴에서 볼 수 있었던 상용구 코드를 제거할 수 있습니다. 라이브러리는 종종 Fiber를 중심으로 추가 추상화를 구축하므로 직접 상호 작용할 필요가 없습니다.
문자열 키 배열에 대한 배열 압축 풀기 지원
PHP는 이전에 스프레드 연산자를 통해 배열 내부 압축 풀기를 지원했지만 배열에 정수 키가 있는 경우에만 지원되었습니다. 이제 문자열 키를 사용하여 배열의 압축을 풀 수도 있습니다.
성능 최적화
PHP 8.1에는 다음을 포함하여 일부 성능 변경 사항이 있습니다. ) )
빠른 클래스 이름 확인(소문자 및 해시 조회 방지)
timelib 및 확장/날짜 성능 개선
SPL 파일 시스템 반복기 개선
직렬화/역직렬화 최적화
일부 내부 기능 최적화 (get_declared_classes(),Explode(),strtr(),strnatcmp(),dechex())
JIT 개선 및 수정