为Drupal11.3升级PHP到8.5

J
AI+留学专家菊叔
PHP8.5.webp
朗读

一、 PHP 8.5 핵심 개선 사항 (8.4 대비)

PHP 8.5는 2025년 11월 20일에 공식 출시되었습니다. 8.4를 기반으로 현대적인 프로그래밍 문법을 더욱 개선하고 표준 라이브러리의 보안을 강화했습니다.

획기적인 문법 기능

파이프 연산자 (Pipe Operator |> ):
8.5에서 가장 기대되는 기능입니다. 함수 호출을 체인 형태로 결합하여 코드 가독성을 높여줍니다.

예시: $data |> 'json_decode' |> 'process_data' |> 'render_view'; 중첩된 함수 호출을 대체합니다.

clone with 문법:
객체를 복제하면서 속성을 동시에 수정할 수 있습니다. readonly 속성을 사용하는 불변 객체(Immutable Objects)에 매우 유용합니다.

정적 속성의 비대칭 접근 제어:
8.4의 인스턴스 속성 기능을 계승하여, 이제 정적 속성도 각각 public get과 private set을 정의할 수 있습니다.

표준 라이브러리 및 기능 강화

내장 URI 확장: RFC 3986 표준을 준수하는 URI 처리 확장이 새로 추가되어, parse_url()이 복잡한 URL을 처리할 때 발생하는 보안 문제를 완전히 해결했습니다.

array_first() / array_last(): 배열의 첫 번째와 마지막 요소를 기본적으로 지원하며, 더 이상 내부 포인터를 조작할 필요가 없습니다.

지속적 cURL 연결: 여러 PHP 요청 간에 연결 핸들을 공유할 수 있도록 하여 HTTP 요청 성능을 최적화했습니다.

#[NoDiscard] 속성: 컴파일러가 개발자에게 특정 중요 함수의 반환값을 무시하지 않도록 경고할 수 있습니다.


二、 Drupal 11의 PHP 8.5 지원 현황

공식 지원 노드

Drupal 11.3: PHP 8.5와 공식적으로 호환된다고 선언한 첫 번째 버전입니다.

핵심 의존성: Symfony 7.2+ 출시와 함께 Drupal 코어 및 그 하위 디커플링 라이브러리가 PHP 8.5에 대한 전면적인 적응을 완료했습니다.

호환성 개요

안정적인 실행: 테스트 결과, Drupal 코어는 PHP 8.5에서 안정적으로 작동합니다. 8.5는 대규모의 파괴적 변경(Deprecations)을 도입하지 않았기 때문에, 8.4용으로 작성된 대부분의 모듈이 직접 실행됩니다.

개발 권장 사항:

모듈 개발: 개발자는 이제 사용자 정의 모듈에서 PHP 8.5의 새로운 기능(예: 파이프 연산자)을 사용할 수 있지만, 하위 Drupal 11 버전과의 호환성이 필요하다면 신중하게 사용해야 합니다.

CI/CD: Drupal의 자동화된 테스트 환경에는 이제 기본적으로 PHP 8.5 컨테이너가 포함됩니다.

향후 전망 (Drupal 12)

커뮤니티는 2026년 말에 Drupal 12를 출시할 계획이며, 당시 PHP 8.5가 최소 필수 버전 요구 사항이 될 것입니다. 이는 Drupal 10이 PHP 8.1을 강제했던 전략과 유사합니다.

内容分类标签
知识标签

点击转发,手留余香