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 php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
function error()
{
...
}
je regarde un peu plus loin, et je vois
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
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 php : Sélectionner tout - Visualiser dans une fenêtre à part
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 php : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?