>백엔드 개발 >PHP 튜토리얼 >PHP 8.0이 필수 매개변수가 선택적 매개변수를 따르는 것을 방지하는 이유는 무엇입니까?

PHP 8.0이 필수 매개변수가 선택적 매개변수를 따르는 것을 방지하는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-15 18:12:14236검색

Why Does PHP 8.0 Prevent Required Parameters from Following Optional Parameters?

"필수 매개변수는 선택적 매개변수보다 앞에 와야 합니다"

PHP 8.0 이전 버전에서는 함수 선언에서 선택적 매개변수 뒤에 필수 매개변수가 올 수 있었습니다. . 이 방식은 PHP 8.0에서 더 이상 사용되지 않으며 "필수 매개변수 $xxx가 선택적 매개변수 $yyy를 따릅니다."와 같은 오류가 발생합니다.

설명:

이러한 스타일의 함수 선언은 함수 호출 중에 모든 매개변수(마지막 필수 매개변수 제외)를 강제로 지정하므로 비합리적입니다. 또한 함수 및 메서드 분석을 위해 ReflectionFunctionAbstract 클래스를 사용할 때 모호성이 발생했습니다.

해결책:

지원 중단 오류를 해결하려면 기본값을 제거하도록 함수를 다시 작성하세요. 이전 매개변수에서 필수 매개변수가 선택 매개변수보다 먼저 선언되도록 합니다.

function test_function(int $var1, int $var2) {
    return $var1 / $var2;
}

By 이 규칙을 준수하면 함수 서명이 더욱 논리적이 되고 필수 매개변수가 선택 매개변수보다 앞에 있어야 한다는 기대를 따릅니다.

위 내용은 PHP 8.0이 필수 매개변수가 선택적 매개변수를 따르는 것을 방지하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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