>  Q&A  >  본문

선택적 매개변수 $yyy가 필수 매개변수 $xxx 앞에 옵니다.

아아아아

PHP 8.0으로 업그레이드한 이후 다음 코드를 실행할 때 이 오류가 발생합니다:

으아아아

이것은 이전 버전의 PHP에서는 문제 없이 작동했습니다.

P粉236743689P粉236743689390일 전687

모든 응답(2)나는 대답할 것이다

  • P粉021553460

    P粉0215534602023-10-19 10:29:39

    기본값이 없는 필수 매개변수가 먼저 와야 합니다.

    으아악

    회신하다
    0
  • P粉427877676

    P粉4278776762023-10-19 00:33:30

    함수를 선언하는 이 방법은 PHP 8.0에서 더 이상 사용되지 않습니다. 함수를 호출할 때 모든 인수(필수인 마지막 인수까지)를 지정해야 하기 때문에 이와 같은 함수를 작성하는 것은 결코 의미가 없습니다. 또한 Causing 혼란 ::getNumberOfRequiredParameters" rel="noreferrer"> 클래스 ReflectionFunctionAbstract를 사용하여 함수와 메서드를 구문 분석합니다.

    새로운 지원 중단은 단순히 존재해야 하는 필수 매개변수가 항상 선택적 매개변수보다 먼저 선언되어야 한다는 상식 가정을 함수 서명이 따르도록 보장합니다.

    이전 매개변수의 기본값을 제거하려면 이 함수를 다시 작성해야 합니다. 모든 인수를 선언하지 않으면 함수를 호출할 수 없으므로 기능에 영향을 주지 않습니다.

    으아악

    회신하다
    0
  • 취소회신하다