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 :

Initialisation d'une variable statique [PHP 5.0]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 178
    Points : 93
    Points
    93
    Par défaut Initialisation d'une variable statique
    Bonsoir,

    je rencontre un problème qui me surprend un peu.

    Dans une de mes classes, je souhaite définir un attribut static comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private static $filename = BASE_DIR."config/lang/website.xml";
    où BASE_DIR est une constante définie dans un autre fichier, lequel est inclus avant qu'aucune classe ne soit utilisée...

    Or, cela n'est pas accepté, alors que l'exemple qui suit l'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private static $filename = "config/lang/website.xml";
    Si vous avez des explications, je suis preneur =)
    Merci d'avance !
    Rolf IV

  2. #2
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 28
    Points : 34
    Points
    34
    Par défaut
    je ne suis pas tout à fait sûr, mais il me semble qu'une initialisation ne peut être le résultat d'un opération

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 178
    Points : 93
    Points
    93
    Par défaut
    Merci pour ta réponse.

    j'ai aussi testé ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private static $filename = BASE_DIR;
    même problème...
    quand tu parles d'opération, tu parles des opérateurs de base . + - / * % | & || && ou c'est plus large que ça ?

    Il semble qu'il y ait pas moyen d'associer une constante à une variable statique en tous cas, et je comprends pas du tout...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Septembre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 28
    Points : 34
    Points
    34
    Par défaut
    qu'est ce qui te fait dire que ça ne marche pas...

    parce que à moins que je n'ai pas les yeux en face des trous, ton dernier exemple devrait marcher.

  5. #5
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    As tu bien déclaré ta constante comme ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    const BASE_DIR = "/tonPath/";
    // ou comme ceci
    define("BASE_DIR", "/tonPath/");

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 178
    Points : 93
    Points
    93
    Par défaut
    par la fonction define.

  7. #7
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    J'ai peur que ta constante ne soit pas visible depuis le contexte de ta classe.

    Je ne suis pas certain de ce que j'avance, mais c'est eut être une piste.

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 178
    Points : 93
    Points
    93
    Par défaut
    Citation Envoyé par FreakDev Voir le message
    qu'est ce qui te fait dire que ça ne marche pas...

    parce que à moins que je n'ai pas les yeux en face des trous, ton dernier exemple devrait marcher.
    oops, effectivement, je suis allé trop vite... au temps pour moi...
    donc effectivement, pas d'opération possible...

    merci, et désolé '-_-

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

Discussions similaires

  1. [PRO*C] initialisation d'une variable en zone statique
    Par awalter1 dans le forum Interfaces de programmation
    Réponses: 0
    Dernier message: 23/07/2012, 15h48
  2. Réponses: 1
    Dernier message: 14/04/2008, 14h53
  3. Vérifier l'initialisation d'une variable
    Par homeostasie dans le forum C
    Réponses: 11
    Dernier message: 04/08/2006, 18h05
  4. initialisation d'une variable DATE
    Par olivll dans le forum Access
    Réponses: 4
    Dernier message: 25/07/2006, 11h57
  5. Utilisation d'une variable statique
    Par kurkaine dans le forum C++Builder
    Réponses: 6
    Dernier message: 14/06/2006, 13h49

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