2020 년 말 PHP는 버전 8.0을 출시하여 많은 흥미로운 새로운 기능과 기능을 소개했습니다. 그중에서도 NullSafe 연산자는 매우 실용적인 새로운 기능입니다. 귀중한 객체의 처리를 단순화하고 코드를보다 간결하고 읽기 쉽습니다. 이 기사에서는 PHP8의 NullSafe 연산자 및 기타 관련 기능을 사용하여 Nullable 객체를 효율적으로 처리하는 방법에 중점을 둘 것입니다.
실제 개발에서, 특히 외부 API 또는 데이터베이스 쿼리와 상호 작용할 때 무효 객체를 처리하는 것은 불가피합니다. 종종 특정 필드가 무효화 될 수있는 상황에 직면합니다. 코드가 이러한 무효가 가능한 값을 올바르게 처리하지 않으면 잠재적 오류 또는 예외로 이어질 수 있습니다. 이전 버전의 PHP에서는 널 값 오류를 피하기 위해 Null Checking Logic을 많이 작성해야하므로 길고 오류가 발생하기 쉬운 코드가 발생했습니다.
PHP 8이 출시되면 NullSafe 연산자 ( ?-> )의 도입은 이러한 유형의 문제를 처리 할 수있는 더 깨끗하고 안전한 방법을 제공합니다. 객체가 NULL 인 경우 NULLSAFE 연산자는 오류를 던지지 않고 직접 NULL을 반환합니다.
NULLSAFE 연산자 ( ?-> )는 PHP 8에 추가 된 새로운 기능입니다. 객체의 속성 또는 호출 방법에 액세스 할 때 객체가 널이 아닌지 자동으로 확인할 수 있습니다. NULL 인 경우 연산자는 오류를 던지는 대신 NULL을 반환합니다.
예를 들어, 빈 주소 속성이 포함 된 사용자 객체가 있다고 가정 해 봅시다.
if ($user !== null) {
if ($user->address !== null) {
echo $user->address->city;
}
}
이 글쓰기 방식은 길고 읽기가 어렵습니다. NullSafe 연산자의 도움으로 코드를 크게 단순화 할 수 있습니다.
echo $user?->address?->city;
?-> 연산자를 사용하면 Null Checks를 명시 적으로 수행 할 필요가 없으며 코드는 더 간결하고 읽을 수 있습니다. $ user 또는 $ user-> 주소 가 null이면 전체 표현식은 자동으로 NULL을 반환합니다.
NULLSAFE 연산자 외에도 PHP8은 귀중한 물체의 처리를 더욱 단순화하기 위해 매우 실용적인 기능을 도입합니다.
널 병합 할당 연산자 ( ?? = )
이것은 PHP8에 추가 된 새로운 연산자로서 무효 객체에 대한 할당을보다 간결하게 만듭니다. ?를 사용하는 경우? 예를 들어:
</li>
</ol>
<p>$user->name ??= 'Unknown';<br>
이 예에서 $ user-> 이름이 비어 있으면 '알 수없는' 값이 할당됩니다. 그렇지 않으면 원래 값이 변경되지 않은 상태로 유지됩니다.
NULL 병합 연산자 ( ?? )
?? 연산자는 값이 NULL인지 확인하는 데 사용됩니다. 예를 들어, 무효 객체의 기본값을 설정해야 할 때 사용하기가 매우 편리합니다 . :
</li>
</ol>
<p>$user->address = $user->address ?? new Address();<br>
$ user-> 주소가 비어 있으면 새 주소 개체가 생성됩니다.
PHP 8의 NULLSAFE 연산자 및 기타 새로운 기능은 널리 퍼져있는 객체를 처리하는 더 깨끗하고 직관적 인 방법을 제공합니다. 이러한 새로운 기능을 사용하면 긴 NULL 체크 코드가 줄어들뿐만 아니라 코드의 가독성과 유지 관리도 향상됩니다. 물론, 이러한 새로운 기능을 사용할 때도 코드의 가독성과 견고성을 줄이려면 여전히 신중하고 남용을 피해야합니다. 이러한 새로운 기능을 합리적으로 적용함으로써 PHP 코드는 더 간결하고 명확하며 개발 효율성이 크게 향상 될 것입니다.