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 :

Déclaration d'attributs dynamique [PHP 5.2]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut Déclaration d'attributs dynamique
    Bonjour à tous,

    Je suis face à un petit problème que je n'arrive pas a solutionner.
    j'ai fait une classe me permettant de parser un fichier ini. Un peut à la manière de zend_config cette classe permet de gérer l'héritage de section et des pseudo name space.

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [prod]
    db.host = localhost
    db.user = root
    Après parsage je dois pouvoir faire :
    Mais c'est au niveau des "namespace que j'ai un souçis. Voici comment je procède :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    foreach($filteredData as $section=>$value)
    {
       foreach($value as $cle=>$valeur) // ici clé = db.host et valeur = localhost
       {
          $namespace = explode('.',$cle);
          switch(count($namespace))
           {
              case 1:
                  $this->$cle = $valeur; //ici pas de soucis c'est ok
                  break;
               case 2 : 
                   $this->$namespace[0];
                   $this->$namespace[0]->$namespace[1] = $valeur;
                   break;
           }
       }
    }
    C'est donc au niveau du case 2 que j'ai un soucis avec l'erreur :

    Attempt to assign property of non object in ....
    Cependant mes attributs sont bien assigné , mais ce warning me gène un poil ^_^

    La déclaration de mes attributs n'est sans doute pas adapté mais je trouve pas de solution.
    Une idée ?

    Merci
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 191
    Par défaut
    $this->$namespace[0]; n'est pas une class mais une variable ca ne marchera pas sauf en mettant une classe dedans

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->$namespace[0] = new stdClass();

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

Discussions similaires

  1. Déclaration de variable dynamiquement sous pl/sql
    Par madina dans le forum PL/SQL
    Réponses: 6
    Dernier message: 07/05/2008, 18h12
  2. Réponses: 2
    Dernier message: 19/10/2007, 12h37
  3. déclaration de formulaire dynamique
    Par Glum147 dans le forum Struts 1
    Réponses: 2
    Dernier message: 07/11/2006, 14h59
  4. [XML/DTD] Déclaration d'attributs dans un doc XML
    Par citizen87 dans le forum Valider
    Réponses: 4
    Dernier message: 09/05/2006, 11h03
  5. [Struts][XHTML] écriture d'un attribut dynamique
    Par tetram51 dans le forum Struts 1
    Réponses: 4
    Dernier message: 19/04/2006, 15h55

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