PHP 8.0: 필수 매개변수가 선택적 매개변수를 따릅니다
PHP 8.0으로 업그레이드하면 개발자에게 다음 오류가 발생할 수 있습니다.
Deprecated: Required parameter $xxx follows optional parameter $yyy in...
이 오류는 함수 선언에 선택적 매개변수와 필수 매개변수가 포함될 때 발생합니다. 매개변수. 예를 들어, 다음 코드는 오류를 발생시킵니다:
function test_function(int $var1 = 2, int $var2) { return $var1 / $var2; }
기능적 의미 명확화
PHP 8.0 이전 버전에서는 이러한 함수 선언이 허용되었습니다. 그러나 ReflectionFunctionAbstract 클래스를 사용하여 함수와 메서드를 분석할 때 불일치와 혼란이 발생했습니다.
새로운 요구 사항
PHP 8.0은 필요한 모든 요구 사항을 요구하여 보다 논리적인 접근 방식을 시행합니다. 매개변수는 선택적 매개변수보다 먼저 선언되어야 합니다.
권장 해결책
오류를 해결하려면 선택적 매개변수에서 기본값을 제거하면 됩니다. 어쨌든 모든 매개변수를 지정하지 않으면 함수를 호출할 수 없으므로 기능은 영향을 받지 않습니다.
function test_function(int $var1, int $var2) { return $var1 / $var2; }
위 내용은 PHP 8.0: 이제 필수 매개변수가 선택적 매개변수보다 앞에 와야 하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!