상현에 하루하루
All 개발자의 하루

PHP 8.1: The Never Type

( 업데이트: )

함수가 절대 반환 되지 않을 것임을 나타내는 방법입니다. Never Type은 예외를 던지거나 스크립트를 종료한다는 의미입니다. void와 차이점은 전혀 반환하지 않는 것과 비교하여 함수가 아무 것도 반환하지 않음을 나타냅니다.

function refirect ( string $url) : never {
    header("Location: {$url}");

    exit;
}

이러한 함수를 호출한다는 것은 그 뒤에 오는 코드가 무엇이든 실행되지 않는다는 것을 의미합니다. 여기서 void는 함수가 아무 것도 반환하지 않음을 나타냅니다. never를 추가하여 정적 분석기는 그 기반으로 더 코드가 소요됩니다.