Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3254 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Lister les variables d'une fonction

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lister les variables d'une fonction

n°2041014
turlututur​e
Posté le 09-12-2010 à 13:02:40  profilanswer
 

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)

mood
Publicité
Posté le 09-12-2010 à 13:02:40  profilanswer
 

n°2041087
olivthill
Posté le 09-12-2010 à 15:18:35  profilanswer
 

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.

n°2041093
skeye
Posté le 09-12-2010 à 15:21:53  profilanswer
 

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 -
n°2041189
turlututur​e
Posté le 09-12-2010 à 21:33:45  profilanswer
 

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 ;)

n°2041192
gatsu35
Blablaté par Harko
Posté le 09-12-2010 à 22:10:18  profilanswer
 

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
n°2041244
olivthill
Posté le 10-12-2010 à 10:19:56  profilanswer
 

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.

n°2041248
gatsu35
Blablaté par Harko
Posté le 10-12-2010 à 10:26:25  profilanswer
 

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
n°2041313
stealth35
Posté le 10-12-2010 à 13:22:06  profilanswer
 

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.

n°2041354
skeye
Posté le 10-12-2010 à 15:32:43  profilanswer
 

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 -
n°2041679
smaragdus
whores, drugs & J.S. Bach
Posté le 12-12-2010 à 22:41:37  profilanswer
 

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 }

mood
Publicité
Posté le 12-12-2010 à 22:41:37  profilanswer
 

n°2041688
gatsu35
Blablaté par Harko
Posté le 12-12-2010 à 23:41:26  profilanswer
 

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
n°2043802
Dj YeLL
$question = $to_be || !$to_be;
Posté le 22-12-2010 à 17:49:29  profilanswer
 

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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Lister les variables d'une fonction

 

Sujets relatifs
taille tampon fonction recv socketProblème fonction strlen /ubuntu
Additioner des variables de formulaires[SQLServer] appel de fonction avec un déclencheur sql server 2008
Récuperer objet dans tableau en fonction du champ d'un objetFichier PAC et fonction myIpAddress
[VBA] Créer une fonction utilisée en tant que formuleProblème POO et execution de fonction
Fonction ok sous ie6 mais ne fonctionne pas sous firefox[RESOLU]Histoire de variables
Plus de sujets relatifs à : Lister les variables d'une fonction


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR