[PHP] [PHP8.4] PHP 8.4.1 이 오늘 출시되었습니다. 새 문법 및 개선점 요약 - 리무스BBS
PHP 8.4의 주요 신규 문법, 개선점 등
- 클래스의 변수에 대한 get / set 속성을 함수로 표현할 수 있습니다.
- 속성의 접근자 (getter)와 설정자 (setter)에 대해 서로 다른 가시성 수준을 설정할 수 있습니다.
- 예를 들어, 읽을 때는 public, 쓸때는 private으로 지정할 수 있습니다.
- .. 위에 Property Hooks와 같이 사용하면 될 것 같은데…
#[\Deprecated] 어트리뷰트
- PHP 8.3 부터 도입되기 시작한 어트리뷰트에 #[\Deprecated] 속성이 추가되었습니다.
개선된 DOM API
- 기존에는 HTML5 지원이 잘 되지 않았는데, 이제는 최신 웹 표준을 더 잘 지원하게 되었습니다.
- XML 기준으로 정의되던 HTML 처리가 좀 더 수월해 졌습니다.
새로운 array_*() 함수들
- 특히 array_find(), array_find_key(), array_any(), array_all() 함수가 추가되었습니다.
- PHP는 array 언어라고 봐도 될 정도로 다양하게 배열을 사용하는데, 좀 더 쉽게 표현할 수 있는 함수가 추가되었습니다.
- 배열의 인자의 특정 값을 찾아내는 방식인데, 생각보다 자주 쓰고,
- native 함수로 구현이 되었다는 것은 속도 개선을 의미하죠. ^^
Lazy 오브젝트가 구현되었습니다.
- new 생성시에 모든 것이 실행되기 보다는, 사용할 당시에 생성이 되도록 하는 객체입니다.
- 때에 따라서 필요없는 객체의 생성 시간을 단축시켜 줄 수 있겠네요.
성능 향상이 있었습니다.
- get_browser() 등이 이전 버전에 비해 최대 250% 속도 개선이 있었습니다.
- 내부 함수 호출에 있어 frame 설정이 필요 없도록 만들어 일반적 속도 개선이 있었다고 합니다.
디버그 정보가 개선이 되었습니다.
- Closure 같은 경우, 함수 호출 트레이스를 알아보기가 힘든 문제가 있었는데, 이 부분이 개선되었다고 합니다.