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 :

[POO] Problème avec une variable static


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 89
    Points : 89
    Points
    89
    Par défaut [POO] Problème avec une variable static
    Jai une class qui contient des variable static ...

    J'ai une page php avec un script qui appel cette class et appel une function qui ajoute une érreur dans ma variable static.

    apres je retourne a la page de login et jessaye de relire ma variable static contenant les érreur et elle es vide ...

    Parti du code ou j'ajoute mon érreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        smsg::addError( 'Mauvais mot de pass' );
        header( "Location:login.php" );
    déclaration de ma variable static
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
       class smsg {
          static public $error;
     
        public function getError( $inWantLevel = false ){
            return  self::$error;
        }
     
         public function addError( $inMsg  ){
            $newError = array();
            $newError['msg'] = $inMsg;
            self::$error[] = $newError;
        }
    }
    et le code que je le fais afficher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
              print_r( smsg::getError() );
    ma variable es vide aussitot que je retourne dans ma page de login.php
    si je fais afficher apres lavoir ajouter dans la meme page .. elle n'est pas vide.
    Anack Shol Kree Shel

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Les variables sont toujours effacées dès la fin d'un script... seules les variables de sessions peuvent être conservées... (pour les sessions, cf ma signature )
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 89
    Points : 89
    Points
    89
    Par défaut
    et tu peu mexpliquer un peu a quoi serve les variable static alors?
    Anack Shol Kree Shel

  4. #4
    Membre confirmé Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Points : 594
    Points
    594
    Par défaut
    Elles servent a pourvoir recuperer une meme instance d'une classe ou une meme valeur d'une variable sur l'ensemble de l'execution d'un script.
    Par exemple ta classe erreur peut etre appelle a travers un singleton mais sur toutes les pages qui constitue ton site.
    Pour gagner en perf, tu vas peut etre creer une seule connexion a la base car tu n'auras qu'un seul objet qui gere tes erreurs.

    Mais il n'y a pas de persistance des variables static entre les differentes executions.
    If it's not broken, don't fix it.
    BiliBa Built on top of Zend Framework

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 89
    Points : 89
    Points
    89
    Par défaut
    je suis pas certain de bien comprendre le principe du singleton

    et comment faire pour reutiliser la même instance?

    dans plusieur page php sur le meme server? c'est possible ?
    Anack Shol Kree Shel

  6. #6
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Citation Envoyé par grimsk
    je suis pas certain de bien comprendre le principe du singleton
    le singleton permet d'avoir une classe dont on ne peut créer qu'une seule instance

    Citation Envoyé par grimsk
    et comment faire pour reutiliser la même instance?

    dans plusieur page php sur le meme server? c'est possible ?
    oui, il te faut utiliser les sessions (cf tuto dans ma signature) (et pense à charger la classe avant de faire session_start)...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

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

Discussions similaires

  1. Problème avec une variable static
    Par Kevin12 dans le forum Général Java
    Réponses: 2
    Dernier message: 05/05/2008, 17h20
  2. [debutant] get image avec une variable non static
    Par laguna dans le forum Langage
    Réponses: 2
    Dernier message: 06/03/2006, 15h57
  3. Réponses: 2
    Dernier message: 14/05/2004, 14h32
  4. Comparaison d'un registre 8 bits avec une variable 32 bits
    Par tupperware dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 15/10/2002, 10h25
  5. Désigner une variable avec une variable?
    Par littleman dans le forum Paradox
    Réponses: 4
    Dernier message: 12/08/2002, 11h21

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