PHP 8.4는 PHP 8.3에 비해 성능, 기능 개선
아직 베타 버전이므로 실무 환경에 바로 적용하는건 비추천
2024년 11월 정식 배포 예정
PHP 8.4는 현재 베타 버전1으로 제공되고 있으며, 안정적인 버전이 아니기 때문에 주로 테스트와 개발 환경에서 사용되고 있습니다.
그럼에도 불구하고, PHP 8.4는 PHP 8.3에 비해 몇 가지 중요한 성능 개선 및 새로운 기능을 도입하고 있어 주목할 만한 차이점을 가지고 있습니다.
새로운 기능
PHP 8.4에서 새롭게 도입된 기능 중 하나는 readonly 클래스입니다.
클래스 전체를 readonly로 선언할 수 있도록 하여 해당 클래스의 모든 속성에 불변성을 부여합니다.
PHP 8.3에서는 개별 속성에만 readonly를 선언할 수 있었으나, PHP 8.4에서는 클래스 자체에 적용할 수 있게 되어 코드의 안전성과 가독성이 크게 향상되었습니다.
Attribute Groups 기능도 도입되어 여러 속성을 그룹으로 묶어 사용할 수 있게 되었으며, 코드의 효율성을 높이고 중복 코드를 줄이는 데 도움이 됩니다.
PHP 8.3보다 발전된 성능
PHP 엔진의 전반적인 최적화가 이루어졌으며, 특히 반복문과 배열 처리 성능이 향상되었습니다.
이러한 최적화는 대규모 애플리케이션에서 더욱 두드러지게 나타나며, PHP의 핵심 성능을 끌어올리는 데 기여하고 있습니다.
Just-In-Time(JIT) 컴파일러 역시 개선되었습니다.
JIT는 PHP 8.0에서 처음 도입된 이후 계속해서 발전해왔으며, PHP 8.4에서는 보다 효율적으로 작동하여 특정 작업에서 더 나은 성능을 발휘할 수 있습니다.
타입 시스템의 개선
PHP 8.4에서는 Intersection types의 처리가 더욱 강화되어, 여러 타입을 동시에 만족시키는 타입을 정의할 수 있습니다.
복잡한 타입 검사를 더 효율적으로 수행할 수 있게 해주며, PHP 8.3에서보다 더 엄격한 타입 관리를 가능하게 합니다.
이 외에도 fibers와 같은 비동기 프로그래밍 관련 기능도 PHP 8.4에서 더 개선되었습니다.
PHP 8.1에서 처음 도입된 fibers는 비동기 작업을 처리할 수 있도록 해주는 중요한 기능인데, PHP 8.4에서는 안정성과 성능이 더욱 향상되어 비동기 프로그래밍을 한층 더 효율적으로 사용할 수 있습니다.
match 표현식 개선
PHP 8.4는 이 표현식을 확장하여 더 다양한 방식으로 활용할 수 있도록 개선해 개발자들이 보다 유연하게 코드를 작성할 수 있게 하였습니다.
이 외에도, PHP 8.4는 이전 버전에서 발견된 여러 버그와 보안 취약점을 수정하여 안정성을 높였습니다. 이는 성능뿐만 아니라 보안 측면에서도 중요한 개선점입니다.
개발자 경험을 향상시키는 여러 개선 사항들을 포함
예를 들어, 새로운 문법 요소와 코드 구조 개선으로 인해 코드 가독성이 향상되었으며, 에러 메시지 또한 더 직관적이고 상세하게 제공되어 디버깅이 보다 쉬워졌습니다.
이를 통해 개발자들은 더 간결하고 명확한 코드를 작성할 수 있게 되었고, 복잡한 문제 해결 과정도 단축될 수 있습니다.