"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > PHP 8.1에서 반환 유형 충돌을 처리하는 방법은 무엇입니까?

PHP 8.1에서 반환 유형 충돌을 처리하는 방법은 무엇입니까?

2024년 11월 17일에 게시됨
검색:140

How to Handle Return Type Conflicts in PHP 8.1?

참조: 반환 유형 충돌 대 #[\ReturnTypeWillChange] 속성

Context:
PHP 8.1에서 다음에 대한 반환 유형 지정 방식이 널리 보급되어 기존 방식과의 충돌이 발생함 구현.

문제:
메서드의 반환 유형이 호환 가능한 유형에서 호환되지 않는 유형으로 변경되거나 지정되지 않은 경우 다음과 같은 지원 중단 알림이 나타납니다.

Deprecated: Return type of [Method Name] should either be compatible with ..., or the #[\ReturnTypeWillChange] attribute should be used...

반환 유형 공분산의 의미:
PHP 7.0에서는 지정된 계약을 기반으로 코드 호출에 대한 일관된 동작을 보장하는 반환 유형을 도입했습니다. 확장 또는 구현 클래스는 동일하거나 더 구체적인 반환 유형을 유지해야 합니다.

지원 중단 배경:
PHP 8.0에 통합 유형이 추가되면서 내부 함수와 메서드에 반환 유형이 생겼습니다. 명세서. 그러나 이러한 유형을 적용하면 이전 버전과의 호환성이 손상됩니다. 대신 임시 변경 사항에 대한 지원 중단 알림이 도입되었습니다.

#[\ReturnTypeWillChange] 속성의 목적:
이 속성은 반환 유형의 계획된 변경을 나타냅니다. PHP 8.1은 이 속성으로 표시된 메서드에 대한 지원 중단 알림을 무시하여 이전 PHP 버전에 대한 지원을 허용합니다.

해야 할 일:

  1. 다음에 언급된 메서드를 확인하세요. 지원 중단 알림 및 예상되는 반환 유형.
  2. 가능하다면 예상되는 것과 일치하도록 메서드의 반환 유형을 변경하세요. type.
  3. 필요한 경우 #[\ReturnTypeWillChange] 속성을 추가하여 일시적으로 지원 중단 알림을 억제합니다.

참고: 강제 반환 유형은 PHP에서 발생할 가능성이 높습니다. 9.0이므로 이에 따라 #[\ReturnTypeWillChange] 속성을 처리하도록 계획하세요.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3