fonction sans arguments par défaut
Salut à tous
désolé pour le titre pas très clair, mais je n'arrive pas à trouver les mots
je suis tombé sur un morceau de code qui fait appel à une fonction par exemple
error('toto', 1);
curieux, je vais voir la fameuse fonction, et à ma surprise, je trouve
Code:
1 2 3 4
| function error()
{
...
} |
je regarde un peu plus loin, et je vois
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| $num_args = func_num_args();
//puis
if ($num_args == 3)
{
$message = func_get_arg(0);
$file = func_get_arg(1);
$line = func_get_arg(2);
}
else if ($num_args == 2)
{
$file = func_get_arg(0);
$line = func_get_arg(1);
}
else if ($num_args == 1)
$message = func_get_arg(0); |
j'en ai donc déduis qu'on n'était pas obligé de préciser le nombre d'arguments que l'on attend..
par exemple:
Code:
function error($message, $file, $line){...}
depuis tout ce temps, je m'éfforcais à mettre des valeurs par défaut si l'on ne passait pas tous les paramètres.
par exemple
Code:
function error($message, $file='toto', $ligne=0){...}
question : est-il préférable de donner des valeurs par defaut aux paramètres,
ou alors ne pas donner de paramètre et tester le nombre de paramètre que recoit la fonction ?