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 :

Appel variable statique d'une classe


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut Appel variable statique d'une classe
    Bonjour,

    je souhaite connaitre le contenu de ma variable "$monTableau", contenu dans ma classe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class maClasse
    {
        public static $monTableau = array();
     
        function maFonction()
        {
        ...
        self::$monTableau = "contenu";
        ...
        }
    }
    J'appelle ma variable dans mon script
    et me retourne "Array()"

    Je voudrai obtenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Array([0] => "contenu")
    mais je ne comprend pas pourquoi mon tableau est vide ?

    Merci de votre aide

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Salut,

    Il faut deja faire appel a maFonction() pour le remplir ....
    Puis pour afficher le contenu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maClasse::$monTableau[0];
    Edit : note que le array est remplacé par la string donc le [0] ne marche pas
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Par défaut
    tu as appelé maClasse::maFonction() avant de récupérer maClass::$monTableau, vu que celle ci en détermine la valeur ?

    Accessoirement ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     self::$monTableau = "contenu";
    Va écraser le tableau.

  4. #4
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut
    tu as appelé maClasse::maFonction() avant de récupérer maClass::$monTableau, vu que celle ci en détermine la valeur ?
    Il est vrai que je n'ai pas tout dit, j'ai bien appelé ma fonction avant de connaitre la valeur qu'elle contient. Voila mon appel plus détaillé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $tab = maClasse::$monTableau ;
    //si je fais echo $tab ici j'obtiens Array() donc un tableau vide
            foreach($tab as $cle => $value)
            {
               //Mon traitement
            }
    Si je fait un echo $tab dans ma class juste après avoir affecté sa valeur j'otiens bien se que je veux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class maClasse
    {
        public static $monTableau = array();
        
        function maFonction()
        {
        ...
        echo self::$monTableau = "contenu";//renvoi mon tableau associatif correct
        ...
        }
    }
    Il semblerait que je n'ai pas accès à ma variable static ? Ais je bien déclaré ma class ?

    Merci

  5. #5
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    On ne voit toujours pas d'appel a "maFonction()" de plus on te le répète ta façon de procéder va écraser le tableau.
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  6. #6
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut
    On ne voit toujours pas d'appel a "maFonction()"
    Mon appel à ma fonction se fait avant dans un autre fichier PHP en utilisant AJAX, comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $classInstanciation = new maClasse();
    $classInstanciation->maFonction()
    de plus on te le répète ta façon de procéder va écraser le tableau
    Alors imaginons que ça écrase mon fichier pourquoi dans ma classe j'obtiens biens mon tableau ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    echo self::$monTableau = contenu
    /*retourne Array
    (
        [0] => ./dossier test/b/test/Collines.jpg
    )*/
    Merci

  7. #7
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut
    je viens de voir que j'ai fait une erreur de retranscription je voulais dire ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     echo self::$monTableau [$indice] = contenu
    où $indice est une variable qui s'incrémente à chaque tout de boucle

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

Discussions similaires

  1. Appel Variable statique dans une autre classe ?
    Par noula_27 dans le forum Langage
    Réponses: 6
    Dernier message: 15/01/2013, 23h06
  2. [1.x] déclarer variables statiques dans une classe controller
    Par flora806 dans le forum Symfony
    Réponses: 8
    Dernier message: 15/10/2012, 17h26
  3. Appel variable session dans une class
    Par safisafi dans le forum ASP.NET
    Réponses: 4
    Dernier message: 04/04/2008, 10h59
  4. Réponses: 14
    Dernier message: 05/09/2006, 01h17
  5. [Tableaux] Probleme variable statique dans une classe
    Par Joe Le Mort dans le forum Langage
    Réponses: 7
    Dernier message: 31/08/2006, 11h35

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