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:
1 2 3 4
|
[prod]
db.host = localhost
db.user = root |
Après parsage je dois pouvoir faire :
Code:
echo $objet->db->host;
Mais c'est au niveau des "namespace que j'ai un souçis. Voici comment je procède :
Code:
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 :
Citation:
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