18-09-2011, 03:37 PM
perso, si j avais à employer n méthodes avec le même nom, je le ferai au moyen de func_get_args
du coup ca donne un truc du genre :
Evidemment cela sous entend que :
+ si tu veux contrôler les types tu dois le faire toi même dans le code à la suite (is_int...) , de même le contrôle des paramètres nécessaires
+ tu dois commenter suffisamment la fonction pour savoir ce qui est attendu en premier, deuxième troisième paramètres, fonction des paramètres...
de ce point de vue, php est très lâche d'utilisation, mais la liberté totale n'empêche pas d'avoir le droit d'être rigoureux (ou pas du tout d'ailleurs)
du coup ca donne un truc du genre :
function maFonction()
{
$nb_params = func_num_args();
$params = func_get_args();
/* fonction de nb_param tu peux avoir des traitements différents :
genre si c'est 2 tu t'attends à avoir nom en params[0] et prénom en params[1],
si c'est trois tu t attends à avoir age en params[0], sexe en params[1] et nom en params[2]
je fais exprès de donner un exemple super con (genre la méthode qui s'appelle pareil mais ne fait pas la même chose */
// traitement qui va bien pour récupérer les paramètres, les tester, etc..
// genre :
$age_du_capitaine = $params[1];
if (!is_int($age_du_capitaine) )
throw new ... /// gestion des erreurs
// a partir de la code comme d'habitude
}
Evidemment cela sous entend que :
+ si tu veux contrôler les types tu dois le faire toi même dans le code à la suite (is_int...) , de même le contrôle des paramètres nécessaires
+ tu dois commenter suffisamment la fonction pour savoir ce qui est attendu en premier, deuxième troisième paramètres, fonction des paramètres...
de ce point de vue, php est très lâche d'utilisation, mais la liberté totale n'empêche pas d'avoir le droit d'être rigoureux (ou pas du tout d'ailleurs)