IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Variables à portée limitée


Sujet :

Langage PHP

  1. #1
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 249
    Par défaut Variables à portée limitée
    Une fonction contient un include_once('fichier.php');

    Je désire que les variables contenues dans cet include (et donc le include) ne soient plus connues lors de la sortie de la fonction PHP.

    En fait, le fichier appelé par l'include contient des variables de même nom qu'un autre include appelé plus tard, donc il y a des erreurs dans l'exécution du script. Pourtant, il est important que les noms soient les mêmes car elles sont appelées suivant le contexte à partir d'un include ou d'un autre (dictionnaire).

    Comment faire ?

    Merci.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Si ces variables sont utilisées dans une fonction, pas de problème : elle n'ont par défaut qu'une portée locale.

  3. #3
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 249
    Par défaut
    Citation Envoyé par vg33
    Si ces variables sont utilisées dans une fonction, pas de problème : elle n'ont par défaut qu'une portée locale.
    Tu as bien raison, mais mon soucis est que ces variables sont appelées via un include.

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Il te reste la possibilité d'initialiser toutes les variables en début (ou en fin) de chaque script inclus. Comme ça, plus de problème de collisions entre variables.

  5. #5
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 249
    Par défaut
    Bien sûr, c'est une solution, mais pas la meilleure.

    Merci.

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Tu en connais une autre ?

  7. #7
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 249
    Par défaut
    Citation Envoyé par vg33
    Tu en connais une autre ?
    Pas encore, mais je cherche au cas où, car alors je pourrais prendre la meilleure des solutions que j'aurais à ma disposition.

    En fait, je ne m'arrête jamais à la première solution trouvée, et j'essaie toujours de trouver LA MEILLEURE solution à mon problème.

    A+

  8. #8
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    C'est une bonne pratique Un peu longue, parfois

  9. #9
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 249
    Par défaut
    Citation Envoyé par vg33
    C'est une bonne pratique Un peu longue, parfois
    Un peu longue ? Non, pas sur du moyen ou long terme.

  10. #10
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Par défaut
    je ne sais pas si cela t'aide, mais comme dit précédemment, dans une fonction, elles restent locales.

    comme tu fais un include dans plusieurs fichiers, et tant qu'à modifier ton code, peut-être as-tu intérêt à changer ton include par une fonction. Cela dépend du nombre de variables que tu désires rester locales et du nombre de variables que tu souhaites partager avec la fichier appelant

  11. #11
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 249
    Par défaut
    Pour cette fois, j'ai re-déclaré mes variables en local.

    La prochaine fois, j'utiliserais l'objet pour éviter cela.

    Merci.

Discussions similaires

  1. [Turbo Pascal] Variable PORT[] et $ ?
    Par Spout dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 05/09/2008, 17h30
  2. sql et variable string limité à 250 caractères
    Par philoeil dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 02/10/2007, 00h10
  3. Variables string limité à 255 caractères?
    Par krfa1 dans le forum Access
    Réponses: 7
    Dernier message: 27/01/2006, 16h29
  4. [AS2] Variable number limité
    Par ooyeah dans le forum ActionScript 1 & ActionScript 2
    Réponses: 7
    Dernier message: 26/07/2005, 17h37
  5. Réponses: 8
    Dernier message: 17/02/2005, 10h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo