로그인 회원가입
모두인포
전체IT경제사회생활스포츠시사여행연애

PHP 8.4 주요 업데이트 내용 (2024년 11월 기준)

lmkfox · 2025-06-01 · 조회 0
PHP 8.4 주요 업데이트 내용 (2024년 11월 기준)
PHP 8.4 주요 업데이트 내용 (2024년 11월 기준) 1. Property Hooks - PHP 8.4에서는 객체 속성 접근 시 동작을 커스터마이징할 수 있는 속성 접근 후크 기능이 도입되었습니다. - 이는 기존의 __get, __set 매직 메서드보다 더 정제된 방법으로 속성 접근에 개입할 수 있게 해 줍니다. 예시: class Product { public int $price = 100; public function get_price(): int { return $this->price; } public function set_price(int $value): void { if ($value < 0) throw new Exception("Price cannot be negative"); $this->price = $value; } } 2. 비대칭 가시성 (Asymmetric Visibility) - 클래스 속성에 대해 읽기와 쓰기 권한을 분리하여 정의할 수 있게 되었습니다. - 예를 들어, 외부에서는 읽기만 허용하고 쓰기는 내부에서만 가능하도록 설정할 수 있습니다. 예시: class User { public function __construct( public readonly string $name, protected int $age ) {} } 3. 새 배열 관련 함수 추가 - 배열 관련 유틸리티 함수들이 새롭게 추가되어 코드 간결성과 성능이 향상되었습니다. 추가된 주요 함수: - array_find(): 조건을 만족하는 첫 번째 요소 반환 - array_find_key(): 조건을 만족하는 첫 번째 키 반환 - array_any(): 조건을 만족하는 요소가 있는지 확인 - array_all(): 모든 요소가 조건을 만족하는지 확인 예시: $found = array_find([1, 2, 3, 4], fn($x) => $x > 2); // 3 4. 생성자 호출 문법 개선 - 파라미터 없는 클래스의 경우, () 없이 인스턴스를 바로 생성할 수 있게 되었습니다. 예시: $obj = new MyClass; // 괄호 생략 가능 $obj->doSomething(); 5. DOM 및 HTML5 파서 개선 - DOM 확장이 업데이트되어 HTML5 문서의 파싱과 조작이 더욱 정확하고 안정적으로 개선되었습니다. 6. 성능 개선 - Just-In-Time(JIT) 컴파일러가 내부적으로 최적화되어 PHP 8.3보다 약간의 성능 향상이 보고되었습니다. - 메모리 효율성과 다중 요청 처리 시 효율성이 개선되었습니다. 7. 보안 설정 강화 - 기본 bcrypt 암호화의 비용(cost factor)이 상향 조정되어 기본 보안 수준이 높아졌습니다. - PHP 내장 서버에서 TLS 처리 방식의 보안성도 향상되었습니다. PHP 8.3 요약 (2023년 11월 23일 릴리스) 주요 변경 사항: 클래스 상수의 타입 선언 class Example { public const int MAX_COUNT = 10; } readonly  속성에 대한 깊은 복제 지원 #[\Override]  속성 도입 - 부모 클래스의 메서드를 오버라이드할 때, 명시적으로 표시 가능 유용한 신규 함수 추가 - json_validate(): JSON 문자열이 유효한지 확인 - mb_str_pad(): 멀티바이트 문자열에 대한 str_pad() 기능 확장 성능 및 내부 함수 개선 - 랜덤 함수 확장 (Random\Engine) - gc_status() 정보 추가 - unserialize()의 오류 처리 방식 개선 버전 업그레이드 시 유의사항 - PHP 8.4는 이전 버전과 일부 비호환성이 발생할 수 있으므로, 코드베이스를 점검하고 테스트하는 것이 필수입니다. - 사용 중인 프레임워크(Laravel, Symfony 등)와 라이브러리들이 PHP 8.4를 지원하는지 확인해야 합니다. - Composer를 통해 의존성 버전을 업데이트하고, CI 테스트를 통과시켜야 안전하게 운영 환경에 반영할 수 있습니다.

댓글

아직 댓글이 없습니다.

로그인 후 댓글을 남길 수 있습니다.