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 :wink:

Re: Fonction multi-arguments ?

Posté : 17 janv. 2011, 19:52
par xTG
Okay, dommage c'est pas moins chiant que de traiter des tableaux. :D

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 :wink:

Re: Fonction multi-arguments ?

Posté : 18 janv. 2011, 14:10
par xTG
Pas bête de transformer mon tableau d'arguments en un objet... :D
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.