>백엔드 개발 >PHP 튜토리얼 >PHP 8의 Null Safe 및 Null 병합 연산자는 어떻게 개체 속성 액세스를 단순화할 수 있습니까?

PHP 8의 Null Safe 및 Null 병합 연산자는 어떻게 개체 속성 액세스를 단순화할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-13 06:21:09742검색

How Can PHP 8's Null Safe and Null Coalescing Operators Simplify Object Property Access?

PHP 8에서 Null 안전 연산자 및 Null 병합 연산자 활용

PHP 코딩에서 속성에 액세스하거나 속성에 액세스하려는 상황에 직면할 수 있습니다. 객체가 null이 아닌 경우에만 객체의 메소드. 전통적으로 이를 위해서는 장황한 조건문이 필요했습니다.

PHP 8의 안전한 탐색

PHP 8에는 null 안전 연산자(?->)가 도입되었습니다. null 값으로 인한 치명적인 오류 없이 객체를 탐색합니다. Null 병합 연산자(??)와 함께 연산자 호출을 우아하게 연결할 수 있습니다.

다음 코드를 고려하세요.

echo $data->getMyObject() != null ? $data->getMyObject()->getName() : '';

널 안전 연산자를 사용하면 다음과 같이 단순화할 수 있습니다.

echo $data->getMyObject()?->getName() ?? '';

여기서 경우 $data가 null이면 체인이 종료되고 결과도 null이 됩니다.

연산자

객체의 속성을 검사하는 연산자 또는 메소드는 널 안전 체인의 일부입니다:

  • 배열 액세스 ([])
  • 속성 액세스(->)
  • Nullsafe 속성 액세스(?->)
  • 정적 속성 액세스(::)
  • 메서드 호출(->)
  • Nullsafe 메서드 호출 (?->)
  • 정적 메서드 호출(::)

예:

$string = $data?->getObject()->getName() . " after";

$data가 null인 경우 , $string은 null이 됩니다. 연결이 체인의 일부가 아니기 때문에 "이후"입니다.

위 내용은 PHP 8의 Null Safe 및 Null 병합 연산자는 어떻게 개체 속성 액세스를 단순화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.