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 :

Déclaration de variable et test GLOBAL


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Par défaut Déclaration de variable et test GLOBAL
    Salut à Tous,

    J'ai deux questions existencielles que je me pose depuis un moment, vos réponses me permettront de diriger mes méthodes de développements.

    lors de mes développements je me prends souvent des Notice car je n'ai pas déclaré mes variables.

    Est-ce que concrètement ça change quelque chose de déclarer sa variable avant ? (je fais $mavarialble = "")

    Autre chose, j'ai par exemple un $_GET qui n'est pas obligatoire, si je le test direct en faisait par if ( $_GET['mon_indice'] == TRUE ) et que ça n'existe pas j'ai à nouveau un "Notice : undefined index". Pour éviter le Notice je dois avant faire un if ( isSet ...

    Donc, est-ce que cela change vraiment quelque chose à nouveau ?

    Merci pour votre aide

  2. #2
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    Citation Envoyé par shadeoner Voir le message
    Donc, est-ce que cela change vraiment quelque chose à nouveau ?
    le fait de vérifier si la variable est définie permet surtout d'éviter les erreurs de frappe et d'avoir ensuite un résultat inattendu

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Par défaut
    Citation Envoyé par nosferapti Voir le message
    le fait de vérifier si la variable est définie permet surtout d'éviter les erreurs de frappe et d'avoir ensuite un résultat inattendu
    Merci pour cette réponse, donc cela n'affecte en rien les performances ?

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    PHP est (trop ?) permissif. Les erreurs de type notice sont à conserver en développement car elles permettent de voir immédiatement tout problème (variables non définies, que ce soit lié à une mauvaise conception ou à une erreur de frappe, erreur d'accès à un tableau (clé/index), erreur de type, ...). Auquel cas, ça permet de les corriger même celles qui ne sont pas problématiques, d'imposer une certaine rigueur et surtout de faciliter la lecture/maintenance/reprise de votre code par autrui.

    Quant à isset, donc à l'existence d'une variable, un test comme "$_GET['mon_indice'] == TRUE" est faux car il ne prouve en rien que la variable existe (faites le même test en donnant une valeur fausse à votre variable et vous aurez un autre résultat) !

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo $_GET['var'] ? '$_GET["var"] est vraie' : '$_GET["var"] est fausse';
    echo isset($_GET['var']) ? '$_GET["var"] existe' : '$_GET["var"] n\'existe pas';
    Faites l'appel du script avec :
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ?var # Faux / Existe
    ?var=0 # Faux / Existe
    ? # Faux (déclenche une E_NOTICE) / N'existe pas

Discussions similaires

  1. Déclaration des variables globales en javascript non recommandée
    Par DarkPoster14 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/01/2013, 12h31
  2. déclaration de variable globale dans excel
    Par pierreTarek dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/07/2012, 16h52
  3. déclaration de variable globale
    Par sandball22 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 16/02/2011, 18h07
  4. DOM - déclaration dynamique variable Javascript globale
    Par ionesco dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 16/01/2011, 13h30
  5. Déclaration de variables globales
    Par GuiDjad dans le forum Langage
    Réponses: 6
    Dernier message: 27/01/2010, 00h31

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