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

  FORUM HardWare.fr
  Programmation
  PHP

  Est-ce possible de créer des variables globales dans une fonction ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Est-ce possible de créer des variables globales dans une fonction ?

n°1794939
Profil sup​primé
Posté le 02-10-2008 à 18:49:04  answer
 

Bonjour,
 
J'aimerais savoir s'il est possible de créer des variables directement à partir d'une fonction ?
 
Voilà je m'explique par un exemple :
 
 

Code :
  1. function declare($arr, $create = true) {
  2.     if ($create) {
  3.       foreach ($arr as $key => $value) { $$key = trim($value); }
  4.     }
  5.     else {
  6.       foreach ($arr as $key => $value) { unset($$key); }
  7.     }
  8.   }
  9. declare($_POST);


 
Cette fonction ne marche pas mais autrement sans être dans une fonction cela crée des variables dynamiques de tout les éléments de la variable POST.
 
 
Avez-vous une idée si c'est faisable ? Merci!

mood
Publicité
Posté le 02-10-2008 à 18:49:04  profilanswer
 

n°1794946
skeye
Posté le 02-10-2008 à 19:17:49  profilanswer
 

oui c'est faisable.
Non ce n'est pas une bonne idée. Du tout.


---------------
Can't buy what I want because it's free -
n°1795000
Profil sup​primé
Posté le 02-10-2008 à 21:55:53  answer
 

skeye a écrit :

oui c'est faisable.
Non ce n'est pas une bonne idée. Du tout.


 
Comment il faut procéder alors ?
Et pourquoi ce n'est pas une bonne idée ?

n°1795005
skeye
Posté le 02-10-2008 à 22:00:11  profilanswer
 


 
Pas en créant des variables locales qui disparaissent à la fin de ta fonction, en tout cas.[:dawa]
 
 
 
Parce-que ça n'a aucun intérêt?
Parce-que tu ne contrôles pas l'input utilisateur?
Parce-que ton immonde syntaxe à coups de $$ pourrait être avantageusement remplacée par un bête tableau?
Parce-que les variables globales c'est le mal?


---------------
Can't buy what I want because it's free -
n°1795022
Profil sup​primé
Posté le 02-10-2008 à 22:37:21  answer
 

skeye a écrit :


 
Parce-que ça n'a aucun intérêt?
Parce-que tu ne contrôles pas l'input utilisateur?
Parce-que ton immonde syntaxe à coups de $$ pourrait être avantageusement remplacée par un bête tableau?
Parce-que les variables globales c'est le mal?


 
Bien sûr que cela à un intérêt et au contraire crée un tableau n'a aucun intérêt, autant dans ce cas là utiliser le tableau disponible dans le $_POST ou le $_GET.
 
Si je veux faire ça c'est pour me simplifier la vie, j'aurais dans ma requête sql une syntaxe de ce type 'insert into matable ... values($data1, $data2)...' et non values('.$table['data1'].','.$table['data2'].')'...
 
C'est beaucoup plus simple et rapide sans tableau et en plus les noms des variables correspondent exactement aux noms des champs du formulaire donc voilà pourquoi je cherche à faire celà.

n°1795067
Astroboy34
Posté le 03-10-2008 à 01:04:57  profilanswer
 

register_globals = on;
 
mais à tes risques et périls


Message édité par Astroboy34 le 03-10-2008 à 01:05:11
n°1795073
skeye
Posté le 03-10-2008 à 07:29:31  profilanswer
 

 

niveau sécurité c'est zéro, niveau lisibilité c'est zéro, et créer des variables globales dont on n'a pas vraiment besoin c'est ridicule.
Quant à register_globals, lolilol la bonne idée, c'est pas pour rien que c'est désactivé par défaut depuis des années.[:moule_bite]

Message cité 2 fois
Message édité par skeye le 03-10-2008 à 07:34:35

---------------
Can't buy what I want because it's free -
n°1795085
flo850
moi je
Posté le 03-10-2008 à 09:08:50  profilanswer
 

skeye a écrit :


 
niveau sécurité c'est zéro, niveau lisibilité c'est zéro, et créer des variables globales dont on n'a pas vraiment besoin c'est ridicule.
Quant à register_globals, lolilol la bonne idée, c'est pas pour rien que c'est désactivé par défaut depuis des années.[:moule_bite]


+1
 
le jour ou il y au bug (une variable qui ne contient pas la bonne valeur) tu vas passer des heures pour savoir ou est ce qu'elle a été modifiée  
et tu vas t'apercevoir que tu ne epux plus utiliser certain noms de variabels ( genre $id, $titre, ...  ) parcequ'ils sont globaux


---------------

n°1795119
Astroboy34
Posté le 03-10-2008 à 11:17:48  profilanswer
 

skeye a écrit :


 
niveau sécurité c'est zéro, niveau lisibilité c'est zéro, et créer des variables globales dont on n'a pas vraiment besoin c'est ridicule.
Quant à register_globals, lolilol la bonne idée, c'est pas pour rien que c'est désactivé par défaut depuis des années.[:moule_bite]


c'est pour ca que j'ai précisé, à tes risques et périls.
 
Ce n'est pas à faire évidemment, ca va à l'encontre de l'évolution de php qui se veut plus propre


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

  Est-ce possible de créer des variables globales dans une fonction ?

 

Sujets relatifs
Est-il possible de sélectionner un onglet Excel bien précis avec PHP ?[Résolu] - [Batch Dos] créer un tache planifiée J+3
[C++] gestion de la mémoire pour une fonction renvoyant un pointeurAppel d'une fonction mysql dans du code javascript
fonction AES_ENCRYPT et UTF-8somme si et ranges variables
créer un lien vers l'explorer windows dans une page web...créer un formulaire avec case a cocher
Recrute pour creer un jeuCreer un PDF depuis Excel et envoi directement en pièce jointe d'un ma
Plus de sujets relatifs à : Est-ce possible de créer des variables globales dans une fonction ?


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