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 :

comment être sûr d'utiliser une variable non déjà déclarée


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de mapmip
    Profil pro
    ulla
    Inscrit en
    Juillet 2006
    Messages
    1 315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : ulla

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 315
    Points : 345
    Points
    345
    Par défaut comment être sûr d'utiliser une variable non déjà déclarée
    Salut,
    comment être sûr que ma variable $i n'existe pas déjà ?
    Dans javascript, dans une boucle ou une condition je peux faire var $i afin
    de ne pas confondre avec $i de portée plus globale.

    Mais "VAR" est déprécié en PHP, donc à ne plus utiliser
    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    isset, empty,...

  3. #3
    Membre averti Avatar de mapmip
    Profil pro
    ulla
    Inscrit en
    Juillet 2006
    Messages
    1 315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : ulla

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 315
    Points : 345
    Points
    345
    Par défaut
    oui mais après que faire ? Déclarer une variable dynamiquement ?
    En PHP moderne existe t il l'équivalent de "VAR" ?

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    ça dépends de ce que vous souhaitez faire.
    montrez-nous un exemple de code qui pose problème.

  5. #5
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    Bonjour,
    Je ne sais pas où c'est marqué que var était déprécié (je ne sais pas comment vous l'utilisez) , j'aimerais bien voir la source (http://php.net/manual/en/language.oop5.visibility.php ) le manuel n'en parle pas mais bon dans les codes récents on ne l'utilise plus tout simplement. Et la partie JS de votre premier message, sois sûr que tout ça soit vrai.
    Après comme l'a dit mathieu, vos messages ne sont pas assez clairs et on ne sait pas vraiment où vous voulez en venir.
    Le bienfait n'est jamais perdu

  6. #6
    Membre averti Avatar de mapmip
    Profil pro
    ulla
    Inscrit en
    Juillet 2006
    Messages
    1 315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : ulla

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 315
    Points : 345
    Points
    345
    Par défaut
    Citation Envoyé par Willy_k Voir le message
    Bonjour,
    Je ne sais pas où c'est marqué que var était déprécié (je ne sais pas comment vous l'utilisez) , j'aimerais bien voir la source (http://php.net/manual/en/language.oop5.visibility.php ) le manuel n'en parle pas mais bon dans les codes récents on ne l'utilise plus tout simplement. Et la partie JS de votre premier message, sois sûr que tout ça soit vrai.
    Après comme l'a dit mathieu, vos messages ne sont pas assez clairs et on ne sait pas vraiment où vous voulez en venir.
    Pour le javascript : "Chaque fois que vous précédez une assignation par le mot-clé var, la variable n'est visible qu'à partir de cette portée. " :
    http://jpvincent.developpez.com/tuto...javascript/#L2

    Pour la dépréciation de "VAR" dans php : "In PHP 5.3 var is de-deprecated"
    https://stackoverflow.com/questions/...keyword-var-do
    et je n'ai pas l'impression que VAR dans PHP a les mêmes fonctionnalités de protection que le VAR de javascript

  7. #7
    Membre averti Avatar de mapmip
    Profil pro
    ulla
    Inscrit en
    Juillet 2006
    Messages
    1 315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : ulla

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 315
    Points : 345
    Points
    345
    Par défaut
    Citation Envoyé par mathieu Voir le message
    ça dépends de ce que vous souhaitez faire.
    montrez-nous un exemple de code qui pose problème.
    par exemple,
    dans le contexte d'un héritage de classe, dans la classe mère j'ai une variable déclarée de portée public,
    donc visible dans la classe fille.
    Supposons que $i est déjà déclarée dans la classe mère et que je ne le sais pas,
    je vais utiliser $i et écraser sa valeur alors que la valeur de $i est utile ailleurs dans le code fille ou mère, etc

  8. #8
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    "but later (PHP 5.3) it became un-depreciated", je ne sais pas si on lit la même chose. Et dans le manuel In PHP 5 before 5.1.3, its usage would generate an E_STRICT warning, donc oui était déprécié mais ne l'est plus.

    Dans javascript, dans une boucle ou une condition je peux faire var $i afin
    de ne pas confondre avec $i de portée plus globale.
    Faux, ou j'ai mal compris cette affaire de confusion.

    En même temps var en JS n'a tellement rien à avoir avec var en PHP.
    On peut toujours faire isset($this->i) dans la classe fille pour tester l'existence, je ne sais pas si ces tests répondent à votre question https://3v4l.org/4beZ8 et avec var https://3v4l.org/2TrHu
    Le bienfait n'est jamais perdu

  9. #9
    Membre averti Avatar de mapmip
    Profil pro
    ulla
    Inscrit en
    Juillet 2006
    Messages
    1 315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : ulla

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 315
    Points : 345
    Points
    345
    Par défaut
    suis-je bête ! Et si je me contentais de mettre mon $i dans une function tout simplement ????
    ca n'interférerait pas avec un autr $i plus global , non ????

  10. #10
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    Il serait intéressant de donner un exemple de code de ce que vous voulez faire. Et sérieusement vous considérer comme "bête" pour ça
    Le bienfait n'est jamais perdu

  11. #11
    Membre averti Avatar de mapmip
    Profil pro
    ulla
    Inscrit en
    Juillet 2006
    Messages
    1 315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : ulla

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 315
    Points : 345
    Points
    345
    Par défaut
    Citation Envoyé par Willy_k Voir le message
    Il serait intéressant de donner un exemple de code de ce que vous voulez faire. Et sérieusement vous considérer comme "bête" pour ça
    par exemple, j'ai pas testé en réel


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     
     
    $i = 0;
     
    echo mafunc(4545455454545);
    echo $i;
     
    function mafunc($var) {
     
    $i = 25;
     
    return "coucou";
     
    }

  12. #12
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    ton exemple, c'est n'importe quoi.

    Avant de poser des questions sur un (éventuel) problème, il serait bien d'avoir un EXEMPLE REEL et CONCRET illustrant ce problème.

  13. #13
    Membre averti Avatar de mapmip
    Profil pro
    ulla
    Inscrit en
    Juillet 2006
    Messages
    1 315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : ulla

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 315
    Points : 345
    Points
    345
    Par défaut
    merci à tous, j'ai trouvé une solution simple à ma question !

  14. #14
    Invité
    Invité(e)
    Par défaut
    Et ça te dérangerais de la partager ?

    Au cas où d'autres se poseraient la même question...

  15. #15
    Membre averti Avatar de mapmip
    Profil pro
    ulla
    Inscrit en
    Juillet 2006
    Messages
    1 315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : ulla

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 315
    Points : 345
    Points
    345
    Par défaut
    je l'ai déjà donné : mettre la variable dans une function !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/04/2015, 14h09
  2. Réponses: 5
    Dernier message: 30/11/2009, 11h14
  3. [WebForms]Comment utiliser une variable de session depuis JavaScript ?
    Par ThunderBib dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 05/05/2006, 14h01
  4. Réponses: 5
    Dernier message: 04/05/2006, 21h02
  5. [sql] comment utiliser une variable global
    Par imedg dans le forum Oracle
    Réponses: 21
    Dernier message: 02/05/2006, 15h21

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