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 :

[Tableaux] Probleme variable statique dans une classe


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de Joe Le Mort
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 392
    Par défaut [Tableaux] Probleme variable statique dans une classe
    bonjour,

    j'ai une classe nommé a l'intérieur je souhaite avoir une variable statique que je défini de la sorte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      public static $blockParameters = array();
    ensuite je créé une fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      function Memorizeparameters($parameters){
     
      		self::$blockParameters = array_merge(self::$blockParameters,$parameters);
      }
    ou comme ca (j'ai testé les 2..)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      function Memorizeparameters($parameters){
     
      		DBT_cache::$blockParameters = array_merge(DBT_cache::$blockParameters,$parameters);
      }
    Le probleme est quand j'appelle cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dbt_cache->Memorizeparameters($tabmobile);
    $tabmobile est un tableau non vide, contenant des infos...

    pourquoi la varaible $blockParameters n'arrive pas a recevoir les infos à partir de la fonction ? ais je fait une erreur ?
    .
    Merci

  2. #2
    Membre Expert
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Par défaut
    Selon Manouel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Exemple 12-12. Les variables statiques et la récursivité
    <?php
    function Test()
    {
       static $count = 0;
       $count++;
       echo $count;
       if ($count < 10) {
           Test();
       }
       $count--;
    }
    ?>
    Note : Les variables statiques doivent être déclarées comme dans l'exemple ci-dessus. Tenter d'assigner des valeurs à ces variables qui sont le résultat d'expressions causera une erreur d'analyse.
    A priori c'est bien ce que tu fais pourtant...

    EDIT : J'ai trouvé d'où venait ton souci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    function foo(){
       static $int = 0;          // correct
       static $int = 1+2;        // faux  (car c'est une expression)
       static $int = sqrt(121);  // faux  (car c'est aussi une expression)
    
       $int++;
       echo $int;
    }
    ?>
    Va falloir revoir ta conception désolé !
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  3. #3
    Membre chevronné Avatar de Joe Le Mort
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 392
    Par défaut
    le probleme est que je dois utiliser cette variable en dehors de la classe.

    je l'appelle par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pageParameters = DBT_cache::$blockParameters;

    EDIT : je ne peux pas définir en tant que array() ???

    pourtant c'est correct d'écrire : static $arrSingletonObject = array();

  4. #4
    Membre Expert
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Par défaut
    Citation Envoyé par Joe Le Mort
    EDIT : je ne peux pas définir en tant que array() ???
    La doc dit que non.... alors elle doit avoir raison...
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  5. #5
    Membre chevronné Avatar de Joe Le Mort
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 392
    Par défaut
    Citation Envoyé par guitou12
    La doc dit que non.... alors elle doit avoir raison...
    je ne pense pas

  6. #6
    Membre Expert
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Par défaut
    Citation Envoyé par Joe Le Mort
    Oui bon ben ton problème reste non résolu pour l'instant
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

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. Réponses: 14
    Dernier message: 05/09/2006, 01h17
  4. membre statique dans une classe
    Par motrin dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 30/12/2005, 15h15
  5. Variables globales dans une classe
    Par vanitom dans le forum C++
    Réponses: 16
    Dernier message: 14/01/2005, 14h40

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