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] Tableau en variable statique


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de daajack
    Inscrit en
    Octobre 2007
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 97
    Par défaut [POO] Tableau en variable statique
    Bonjour,

    Petite question : est-il impossible de définir un tableau en variable statique ?
    J'ai essayer d'afficher les variables de ma classe avec un get_class_vars(), et ma variable chaîne s'affiche, mais ma variable tableau, bien qu'existante, reste désespérement vide.

    Ça m'embête car je voulais définir des variables statiques pour ma classe, auxquelles je pouvais accéder sans l'instancier, pour récupérer le nom de la table et des champs qui vont me permettre de créer l'instance par la suite.

    Merci bien de votre aide.

  2. #2
    Membre confirmé Avatar de raoulchatigre
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2004
    Messages : 99
    Par défaut
    Je t'y prends a encore poser des questions et troubler le silence éternel du forum !
    ... ou pas

    Petite réponse ?
    Il est tout a fait possible de déclarer un tableau en variable statique, bon je nuances : je ne vois aucune raison de ne pas pouvoir le faire.
    Fais attentions pour ce qui est de l'affichage des tableaux, vu que c'est une variable un peu spéciale, certaines fonctions d'affichage posent parfois des petits soucis. Elles affichent rien alors qu'en fait ta variable est pleine. (Bouh les menteuses) pour être sur, multiplies les fonctions d'affichage (essayes print_r() par exemple)

    Sinon pour être sur, post-nous un bout de code de ce que tu cherches à obtenir.

  3. #3
    Membre éclairé Avatar de daajack
    Inscrit en
    Octobre 2007
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 97
    Par défaut
    Et bien toutes mes excuses, mea culpa, je ne sais pas ce que j'ai foutu mais après avoir changer de méthode, puis réessayer, cette fois ça marche. C'est frustrant je n'ai aucune idée de là ou se situait mon erreur, je n'ai pas réussi à la reproduire. Pour info voilà le principe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
      class MaClasse extends ClasseMere {
     
        public static $chaine = 'unpeudeblabla';
        public static $tableau = Array('v1', 'v2', 'v3');
      }
     
      $var1 = 'chaine';
      $var2 = 'tableau';
     
      echo MaClasse::$$var1;
      var_dump(MaClasse::$$var2);
    Voilà, j'espère ne pas avoir importuné le souffle créateur des intervenants de ce forum par le bruissement honteux de mon entropie intellectuelle, et par là-même ne pas avoir troublé l'éternelle tranquillité d'un lieu habituellement si paisible. Mille mercis et bonne soirée.

  4. #4
    Membre confirmé Avatar de raoulchatigre
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2004
    Messages : 99
    Par défaut
    Dans mon infini égo, j'accepte tes excuses !

    Bon j'ai testé ton code : cela fonctionne chez moi
    Outre le fait qu'il esaie d'hériter d'une classe mère qui n'est pas définie mais c'est pas grave, je te punairai au centuple dans l'après-vie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
    error_reporting (E_ALL | E_STRICT );
     
    class MaClasse {
     
        public static $chaine = 'unpeudeblabla';
        public static $tableau = Array('v1', 'v2', 'v3');
    }
     
    echo MaClasse::$chaine;
    var_dump(MaClasse::$tableau);
    ?>
    Résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    unpeudeblabla
     
    array
      0 => string 'v1' (length=2)
      1 => string 'v2' (length=2)
      2 => string 'v3' (length=2)
    Ton tableau statique est correctement défini.
    Donc essaie encore, et cherchons plus loin : quelle version de PHP utilises-tu ?
    Actives-tu le maximum d'erreurs avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error_reporting (E_ALL | E_STRICT );
    ?

  5. #5
    Membre éclairé Avatar de daajack
    Inscrit en
    Octobre 2007
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 97
    Par défaut
    Non mais c'est bon, c'est gentil mais ça fonctionne. C'est moi qui me suis planté la première fois mais je ne sais pas où. Certainement une erreur sans aucun rapport. D'où la présence de l'appel de la classe mère, pour essayer de reproduire le comportement de mon code (je l'ai zappé dans mon copié-collé). Mais sinon tout roule, le ciel bleuie au dessus de ma tête aux neurones excitées par la douce chaleur d'un précoce printemps naissant.
    Merci encore à toi ô magnanime contributeur généreux de connaissances hétéroclites

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

Discussions similaires

  1. [POO] Déclarer 10 variables ou un tableau
    Par altair8080 dans le forum Langage
    Réponses: 6
    Dernier message: 20/12/2013, 10h40
  2. [PHP 5.0] [POO] Héritages de variables statiques
    Par LogistiX dans le forum Langage
    Réponses: 7
    Dernier message: 21/01/2009, 18h07
  3. Réponses: 5
    Dernier message: 23/11/2006, 13h55
  4. Comment obtenir un tableau à taille variable ?
    Par marsupilami34 dans le forum Langage
    Réponses: 6
    Dernier message: 27/06/2005, 15h03
  5. Fonction max d'un tableau de variables...
    Par Romalafrite dans le forum ASP
    Réponses: 7
    Dernier message: 20/07/2004, 10h38

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