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 :

Visibilitée des constantes


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 52
    Points : 34
    Points
    34
    Par défaut Visibilitée des constantes
    Bonjour,
    J’ai un petit problème de visibilité avec les constantes.

    Dans une page j’ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    // Déclaration de mes constantes 
     
    Function A() {
    	...
    	// Utilisation d’un constante}
     
    Function B() {// Utilisation d’un constante}
    L’utilisation d’une constante est simplement une récupération de la valeur de la constante et non une affectation.

    A chaque tentative d’utilisation php me dit que ma constante n’est pas définie.

    Par contre si je déclare ma constante dans une fonction ou elle serra utilisé il n’y a pas de problème. Mais je perds tout l’intérêt des constantes et je ne peux pas déclarer la même constante dans chaque fonction.

    Pourtant les recherches faites sur le web à ce sujet donnent souvent :

    Les constantes sont définies et accessibles à tout endroit du code, globalement.
    J’ai aussi trouvé ça… Mais j’aimerais ne pas modifier le php.ini

    Il existe deux directives du php.ini permettant de charger un script avant ou après le chargement d'une page. Il s'agit des variables auto_prepend_file et auto_append_file.
    Merci d'avance

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    Comment déclare tu tes constantes ?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 52
    Points : 34
    Points
    34
    Par défaut
    define ("maConstante", "maValeur",TRUE);

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    Alors On definis une constante en majuscule


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    define('MACONSTANTE','uen valeur');
    Ensuite tu auras bien accès à l'ensemble des constantes, tant que le fichier contenant tes constante sont bien inclus.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 52
    Points : 34
    Points
    34
    Par défaut
    Parfait, merci a toi!

    Je penssais que le faite de passer le troisième param à true n'obligeais pas à déclarer la constante en majuscule. Mais effectivement ce n'est que pour l'utilisation.

    Par contre la déclaration d'un constante pas en majuscule ne déclenche même pas un petit warning ou notice ? c'est étrange ...

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    C'est une convention, et non pas une obligation

  7. #7
    Membre confirmé Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Points : 531
    Points
    531
    Par défaut
    Bonjour,

    en effet, il me semble que si le 3eme paramètre est a TRUE, le nom de la constante peut-etre utlisé indépendanmment en majuscules ou en minuscules.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    define("MaConstante", "val", true);
    function a() {
      echo MACONSTANTE;
    }
     
    function b() {
      echo maconstANTE;
    }
     
    a();
    //affiche 'val'
    b();
    //affiche 'val'
    Gillou

  8. #8
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 52
    Points : 34
    Points
    34
    Par défaut
    Merci à vous !!!

    Mon code marche.

    Je continue à chercher pourquoi je suis obliger de déclarer le nom en majuscule même avec les troisième param a true et je post si je trouve.

    Merci encore

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

Discussions similaires

  1. Réponses: 22
    Dernier message: 17/11/2007, 14h59
  2. [VB6][Tendance d'Excel] Calcul des constantes de l'equation
    Par ludotek dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 22/08/2005, 14h41
  3. Réponses: 2
    Dernier message: 13/10/2004, 15h32
  4. Gestion des constantes
    Par valfredr dans le forum XMLRAD
    Réponses: 5
    Dernier message: 18/06/2003, 16h23
  5. Au sujet des constantes
    Par FranT dans le forum Langage
    Réponses: 8
    Dernier message: 09/08/2002, 11h03

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