Maison > Questions et réponses > le corps du texte
P粉6163836252023-08-16 14:16:18
Les paramètres requis sans valeurs par défaut doivent être placés en premier.
function test_function(int $xxx, int $yyy = 2) { return $xxx * $yyy; }
P粉4516148342023-08-16 09:03:20
Cette façon de déclarer les fonctions est obsolète dans PHP 8.0 . Cela n'a jamais de sens d'écrire une fonction comme celle-ci car tous les arguments (jusqu'au dernier argument requis) doivent être spécifiés lors de l'appel de la fonction. Cela a également conduit à la confusion car des problèmes surviennent lors de l'utilisation de ReflectionFunctionAbstract
classes pour analyser des fonctions et des méthodes.
La nouvelle dépréciation garantit simplement que les signatures de fonctions suivent l'hypothèse de bon sens selon laquelle les paramètres obligatoires doivent toujours être déclarés avant les paramètres facultatifs.
La fonction doit être réécrite pour supprimer les valeurs par défaut des paramètres précédents. Puisqu’une fonction n’est jamais appelée sans déclarer tous ses paramètres, cela n’a aucun effet sur sa fonctionnalité.
function test_function(int $var1, int $var2) { return $var1 / $var2; }