"Erforderlicher Parameter muss vor optionalem Parameter stehen"
In PHP-Versionen vor 8.0 ermöglichten Funktionsdeklarationen, dass optionale Parameter von erforderlichen Parametern gefolgt werden konnten . Diese Vorgehensweise war in PHP 8.0 veraltet, was zu Fehlern wie „Erforderlicher Parameter $xxx folgt optionalem Parameter $yyy“ führte.
Erklärung:
Dieser Stil der Funktionsdeklaration war irrational, da dadurch die Angabe aller Parameter (außer dem letzten erforderlichen) bei Funktionsaufrufen erzwungen wurde. Darüber hinaus führte es zu Unklarheiten bei der Verwendung der ReflectionFunctionAbstract-Klasse für die Funktions- und Methodenanalyse.
Lösung:
Um den veralteten Fehler zu beheben, schreiben Sie die Funktion neu, um Standardwerte zu entfernen aus früheren Parametern, um sicherzustellen, dass erforderliche Parameter vor optionalen deklariert werden:
function test_function(int $var1, int $var2) { return $var1 / $var2; }
Durch die Einhaltung dieser Regel funktioniert die Funktion Signaturen werden logischer und folgen der Erwartung, dass erforderliche Parameter vor optionalen Parametern stehen sollten.
Das obige ist der detaillierte Inhalt vonWarum verhindert PHP 8.0, dass erforderliche Parameter optionalen Parametern folgen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!