Lister les variables d'une fonction

Lister les variables d'une fonction - PHP - Programmation

Marsh Posté le 09-12-2010 à 13:02:40    

Bonjour,
Est-ce que quelqu'un sait comment lister les variables d'une fonction ?
En gros je cherche l'équivalent d'un foreach mais pour les variables d'une fonction (et non pas pour les arguments d'un tableau)

Reply

Marsh Posté le 09-12-2010 à 13:02:40   

Reply

Marsh Posté le 09-12-2010 à 15:18:35    

Utiliser func_num_args, func_get_arg, func_get_args.  
Voir http://fr.php.net/manual/en/function.func-num-args.php
 
Ou bien, lire le fichier et le parser en cherchant ce qui se trouve après le mot clé function.

Reply

Marsh Posté le 09-12-2010 à 15:21:53    

turlututure a écrit :

Bonjour,
Est-ce que quelqu'un sait comment lister les variables d'une fonction ?
En gros je cherche l'équivalent d'un foreach mais pour les variables d'une fonction (et non pas pour les arguments d'un tableau)


 
Par curiosité, c'est quoi le but?[:autobot]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 09-12-2010 à 21:33:45    

MERCI olivthill, c'est exactement la page que je n'arrivais pas à retrouver !
 
Skeye, en fait j'ai besoin de mettre les variables d'une fonction dans un tableau, rien de plus ;)

Reply

Marsh Posté le 09-12-2010 à 22:10:18    

Voici encore une fois la preuve que le PHP laisse trop de possibilités pour coder salement.
 
Si tu veux foutre les variables d'une fonction dans un tableau, pourquoi tu ne fait pas en sorte que ta fonction te retourne un tableau ?
ça éviterai d'avoir recours à des solutions aussi dégueulasses.


---------------
Blablaté par Harko
Reply

Marsh Posté le 10-12-2010 à 10:19:56    

Non, ça suffit les attaques contre PHP sur ce forum, et le mot "dég.." ne doit pas être employé sur un forum sérieux. On n'est pas chez les sauvages.
 
D'abord, de très nombreux language permettent le passage de tableaux en paramètre. Ce n'est pas spécifique au PHP.
Ensuite, que le PHP soit souple est une très bonne chose, sauf pour les dictateurs (de ce forum).
Enfn, une fonction, en PHP ou C, ou dans les autres langages, ne doit pas retourner un tableau, c'est une erreur de débutant et une erreur qui est parfois encouragée par des profs ignorants :
Primo, il est très souvent nécessaire de rendre un code de retour indiquant si cela s'est bien passé ou pas, et le meilleur moyen pour faire cela est de mettre ce code de retour (return code), en retour de la fonction. Or si on retourne un tableau, on n'a pas la place pour retourner ce code autrement que dans les paramètres, ce qui serait l'inverse de ce que l'on fait habituellement.
Secundo, retourner un tableau, peut poser des problème de gestion des allocations mémoires. C'est prendre des risques non négligeables de fuites mémoires.
Les tableaux sont à passer dans les paramètres.

Reply

Marsh Posté le 10-12-2010 à 10:26:25    

Nan mais tu as compris ce que le monsieur veux faire ? récupérer toutes les variables d'une fonction. Nullepart il dit que sa fonction retourne un tableau ou une hashmap.
 
Nan là il veut lire le contenu de sa fonction (en gros).


---------------
Blablaté par Harko
Reply

Marsh Posté le 10-12-2010 à 13:22:06    

olivthill a écrit :

Enfn, une fonction, en PHP ou C, ou dans les autres langages, ne doit pas retourner un tableau, c'est une erreur de débutant et une erreur qui est parfois encouragée par des profs ignorants :
Primo, il est très souvent nécessaire de rendre un code de retour indiquant si cela s'est bien passé ou pas, et le meilleur moyen pour faire cela est de mettre ce code de retour (return code), en retour de la fonction. Or si on retourne un tableau, on n'a pas la place pour retourner ce code autrement que dans les paramètres, ce qui serait l'inverse de ce que l'on fait habituellement.
Secundo, retourner un tableau, peut poser des problème de gestion des allocations mémoires. C'est prendre des risques non négligeables de fuites mémoires.
Les tableaux sont à passer dans les paramètres.


 
mouais...
la tu traites de débutant beaucoup de grand développeur.

Reply

Marsh Posté le 10-12-2010 à 15:32:43    

olivthill a écrit :

Enfn, une fonction, en PHP ou C, ou dans les autres langages, ne doit pas retourner un tableau, c'est une erreur de débutant et une erreur qui est parfois encouragée par des profs ignorants


ok, lol. Retourne jouer aux billes ailleurs, tu seras gentil.[:dawak]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 12-12-2010 à 22:41:37    

olivthill a écrit :

Non, ça suffit les attaques contre PHP sur ce forum, et le mot "dég.." ne doit pas être employé sur un forum sérieux. On n'est pas chez les sauvages.
 
D'abord, de très nombreux language permettent le passage de tableaux en paramètre. Ce n'est pas spécifique au PHP.
Ensuite, que le PHP soit souple est une très bonne chose, sauf pour les dictateurs (de ce forum).
Enfn, une fonction, en PHP ou C, ou dans les autres langages, ne doit pas retourner un tableau, c'est une erreur de débutant et une erreur qui est parfois encouragée par des profs ignorants :


 
Mince, ya la moitié des fonctions internes du PHP qui font ça => arrête vite le PHP et préviens tout de suite Zend  :sarcastic:  
 
(et en plus t'as rien compris à la question)
 
Et c'est effectivement une sale pratique de parcourir les param d'une function avec func_get_args alors qu'il suffit de passer simplement un tableau du type { clé => valeur }

Reply

Marsh Posté le 12-12-2010 à 22:41:37   

Reply

Marsh Posté le 12-12-2010 à 23:41:26    

PHP reste quand même un langage remplie de milliers de fonctions aussi inutiles les unes des autres.  
La seconde blague c'est par exemple les arguments.
Là ou en Javascript on aura un tableau d'arguments dans la fonction (arguments), et donc suffira de parcourir ce tableau et pour récupérer la longueur : arguments.length.
 
Là en PHP on a 3 fonctions à la con :/


---------------
Blablaté par Harko
Reply

Marsh Posté le 22-12-2010 à 17:49:29    

gatsu35 a écrit :

PHP reste quand même un langage remplie de milliers de fonctions aussi inutiles les unes des autres.
La seconde blague c'est par exemple les arguments.
Là ou en Javascript on aura un tableau d'arguments dans la fonction (arguments), et donc suffira de parcourir ce tableau et pour récupérer la longueur : arguments.length.

 

Là en PHP on a 3 fonctions à la con :/

 

Pour moi la seule différence c'est qu'il faut récupérer manuellement le tableau d'arguments avec un func_get_args();

 

Après ton arguments.length ne change pas d'un count($arguments); :o

 

Enfin, personnellement, je ne vois pas en quoi c'est dérangeant de faire un $args = func_get_args(); en début de fonction dans les rares cas où c'est nécessaire.

 

Edit : Sinon oué, func_num_args() et func_get_arg() sont moins utiles, mais je ne vois pas pourquoi le fait qu'elles existent te dérange :o


Message édité par Dj YeLL le 22-12-2010 à 17:50:25

---------------
Gamertag: CoteBlack YeLL
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed