Variable dynamique en OOP

Petit nouveau ! | 7 Messages

18 mai 2009, 21:14

Est-ce possible de créer des variable du type $this-> dynamiquement comme

${'this->'.$var.'_string'} = quelque chose;

function uneFunction($param){

${'this'.$param.'_string'} = XXX;

}

ViPHP
ViPHP | 1136 Messages

18 mai 2009, 21:35

Salut ,

non , tu ne peux pas inclure la référence "this" comme ça ..

tu dois la sortir pour que celà fonctionne
$this->{$var.'_string'} = "quelque chose"; 
Ch.
Modifié en dernier par stopher le 18 mai 2009, 21:49, modifié 1 fois.

Petit nouveau ! | 7 Messages

18 mai 2009, 21:43

J'avais essayer $this->{$var.'_string'} = (''); et ça marchais pas, mais la par magie ça fonctionne a merveille.
Modifié en dernier par CULT OF D3ATH le 18 mai 2009, 21:48, modifié 2 fois.

ViPHP
ViPHP | 1136 Messages

18 mai 2009, 21:45

Tu es bien d'accord avec moi que le code suivant :
$this->{$var.'_string'} = "quelque chose";
Se trouve dans une méthode d'une classe ?
Modifié en dernier par stopher le 18 mai 2009, 21:49, modifié 1 fois.

Petit nouveau ! | 7 Messages

18 mai 2009, 21:47

Yup, dans une class, ca m'evite une switch monstre


Merci

ViPHP
ViPHP | 1136 Messages

18 mai 2009, 21:48

Bon , ba ce genre de déclaration fonctionne alors :D ...

Je le certifie :merci:

Petit nouveau ! | 7 Messages

18 mai 2009, 21:51

J'arrette pas de rediter mes messages, :D

Fait longtemps pas été sur un forum.

Merci, je savais bien que sa devait marcher. Je ne sais pas pourquoi sa marchais pas. Je croie que sa devait être dans l'appelle de la function qu'il y avait un typo...

ViPHP
ViPHP | 4674 Messages

19 mai 2009, 09:47

Hey :),

Attention, à n'utiliser que dans de rare cas, car c'est lent. PHP ne peut pas prévoir facilement ce qu'il va se passer. Peut-être que si tu as beaucoup d'« attributs variables » de ce genre, un tableau pourrait remplacer tout ça. Ce sera plus lisible et plus rapide …
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).