Magazine Internet

PHP : Connaitre le nombre d’arguments d'une méthode

Publié le 24 juin 2010 par Methylbro

Nombre de paramètres d'une fonction

Trêve de plaisanterie, rien ne vaut un bon exemple. Nous allons définir une fonction test acceptant les paramètres A et B. B étant facultatif. Puis nous l’étudieront avec la classe ReflectionFunction héritant de la classe abstraite ReflectionFunctionAbstract.

<?php
function test($a, $b=null) {}
$etude_de_ma_fonction = new ReflectionFunction('test');
echo $etude_de_ma_fonction->getNumberOfParameters(); # 2
echo $etude_de_ma_fonction->getNumberOfRequiredParameters(); # 1
?>

Voilà donc une façon élégante de connaitre le nombre d’arguments attendus ou requis pour une fonction.

Nombre de paramètres d'une méthode de classe

Dans le cas d’une méthode de classe, le principe est le même. Sauf que cette fois nous utiliserons la classe ReflectionMethod héritant elle aussi de la classe abstraite ReflectionFunctionAbstract.

<?php
class Foo {
function bar($a, $b=null) {}
}
$etude_de_ma_methode = new ReflectionMethod('Foo', 'bar');
echo $etude_de_ma_fonction->getNumberOfParameters(); # 2
echo $etude_de_ma_fonction->getNumberOfRequiredParameters(); # 1
?>

Magnifique. Dans mon cas, cette technique m’a permis d’être certain que le nombre de paramètres de ma requête correspondaient au moins au nombre d’arguments attendus par le Controller de mon pattern MVC.


Retour à La Une de Logo Paperblog

A propos de l’auteur


Methylbro 17 partages Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte