Der optionale Parameter $yyy steht vor dem erforderlichen Parameter $xxx
P粉236743689
P粉236743689 2023-10-18 12:51:21
0
2
608

Deprecated: Required parameter $xxx follows optional parameter $yyy in...

Seit dem Upgrade auf PHP 8.0 wird dieser Fehler ausgegeben, wenn der folgende Code ausgeführt wird:

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

Dies funktionierte in früheren PHP-Versionen ohne Probleme.

P粉236743689
P粉236743689

Antworte allen (2)
P粉021553460

没有默认值的必需参数应该放在第一位。

function test_function(int $xxx, int $yyy = 2) { return $xxx * $yyy; }
    P粉427877676

    这种函数声明方式在 PHP 8.0 中已被弃用。像这样编写函数从来没有意义,因为所有参数(直到最后一个)必需的一个)需要在调用函数时指定。它还在使用造成混乱::getNumberOfRequiredParameters" rel="noreferrer">ReflectionFunctionAbstract类来分析函数和方法。

    新的弃用只是确保函数签名遵循常识性假设,即必须出现的必需参数应始终在可选参数之前声明。

    应该重写该函数以删除早期参数的默认值。由于在不声明所有参数的情况下永远无法调用该函数,因此这对其功能应该没有影响。

    function test_function(int $var1, int $var2) { return $var1 / $var2; }
      Neueste Downloads
      Mehr>
      Web-Effekte
      Quellcode der Website
      Website-Materialien
      Frontend-Vorlage
      Über uns Haftungsausschluss Sitemap
      Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!