Page 1 sur 1
Fonction multi-arguments ?
Posté : 17 janv. 2011, 18:32
par xTG
Je me posais une question cet après midi en rédigeant encore une de ces *ù%!$ de fonction qui doit accepter une large liste d'arguments qui au final se transforme en un tableau car ras la casquette.
Pour faire simple, est-il possible de gérer dynamiquement une liste d'arguments comme le fait la fonction native printf() ?
Une sorte de boucle sur le traitement de la fonction en utilisant func_num_args() et func_get_arg() ?
Re: Fonction multi-arguments ?
Posté : 17 janv. 2011, 18:35
par stealth35
oui c'est tout simplement ça

Re: Fonction multi-arguments ?
Posté : 17 janv. 2011, 19:52
par xTG
Okay, dommage c'est pas moins chiant que de traiter des tableaux.

Re: Fonction multi-arguments ?
Posté : 18 janv. 2011, 10:26
par Berzemus
Ou bien c'est peut-être le moment de faire d'une telle fonction un objet bien formé..
Enfin, je dis juste ça car c'est typique d'une fonction qui aspire à devenir un objet.
Re: Fonction multi-arguments ?
Posté : 18 janv. 2011, 10:55
par stealth35
oui passer un tableau comme vsprintf

Re: Fonction multi-arguments ?
Posté : 18 janv. 2011, 14:10
par xTG
Pas bête de transformer mon tableau d'arguments en un objet...

Ce serait plus structuré et strict à programmer.
Re: Fonction multi-arguments ?
Posté : 29 janv. 2011, 11:15
par Moosh
le problème c'est "l'ordre"
imagine que tu as 3 valeurs numériques possibles toutes optionnelles
si tu en passes 2 comment savoir quelles infos sont passées.
Solution procédurale -> passer un "array" ou un objet des config -> un seul param, l'array est plus souple, lobjet de config est plus "blindé"
Solution objet -> les valeurs deviennent des propriétés, avec des getter et des setters et la fonction est une méthode sans arguments.