Bonjour,

Malgré quelques recherches et quelques tests, je n'arrive pas à voir la différence entre les fonctions d'introspection suivantes (classe ReflectionFunction) :

getNumberOfRequiredParameters()
getNumberOfParameters()

La 1ère devrait renvoyer le nombre d'arguments obligatoires de la fonction analysée et la 2nde le nombre d'arguments total (ceux qui ont une valeur par défaut ou non)

Mais ce script :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
 
function Rigolotte($arg=2,$arg0=3,$arg1)
 {
 $somme=$arg+$arg0+$arg1;
 return $somme;
 }
 
$analyseur=new ReflectionFunction("Rigolotte");
 
echo "Nombre d'argument au total : ";
echo $analyseur->getNumberOfParameters();
echo "<br/>\n";
echo "Nombre d'arguments obligatoires : ";
echo $analyseur->getNumberOfRequiredParameters();
 
?>
me renvoie : 3 3 au lieu de 3 1

Ma config : http://marsan.loc.free.fr/Online/Exemples/phpinfo.jpg

Merci de votre aide