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] Création dynamique de variables de classe


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2004
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2004
    Messages : 97
    Points : 89
    Points
    89
    Par défaut [POO] Création dynamique de variables de classe
    Bonjour à tous,

    Je cherche à créer dynamiquement des variables de classes à partir d'une chaîne de caractères, comme on peut le faire pour créer une instance de classe (voir FAQ : Comment utiliser un nom de classe créé dynamiquement ?

    Je ne sais pas si c'est possible ? j'ai fais quelque recherche sur google mais sans succès

    En gros, voilà ce que je cherche à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    class maClasse
    {
       function creerVariable(nomVariable)
       {
          //le bout de code que je cherche à faire
       }
    }
     
    $objmaClasse = new maClasse();
    $objmaClasse->creerVariable("maVariable");
    $objmaClasse->maVariable = "loret ipsum";
    echo $objmaClasse->maVariable; //affiche "loret ipsum"
    Auriez-vous un idée pour m'aider à compléter ma fonction creerVariable(nomVariable) ?

    bonne journée et merci,

    Phil-

  2. #2
    Membre régulier
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2004
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2004
    Messages : 97
    Points : 89
    Points
    89
    Par défaut
    ca va j'ai trouvé , la réponse était sur http://fr.php.net/class

    voilà ce que ça donne :
    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
    18
    19
     
    class maClasse
    {
    	public function AddVariables($aVariables){
    		foreach($aVariables as $name => $value){
    		   $this->AddVariable($name, $value);
    		}
    	}
     
    	public function AddVariable($name, $value){
    		$this->$name = $value; 
    	}
    }
     
    $objmaClasse = new maClasse();
    $objmaClasse->AddVariables(array("peach"=>"fruit", "carrot"=>"vegetable"));
    $objmaClasse->AddVariables(array("options" => array("1"=>"Jan", "2"=>"Feb", "3"=>"March")));
    $objmaClasse->AddVariable("bodytext", "Some content goes here");
    echo $objmaClasse->peach; //affiche fruit

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 87
    Points : 102
    Points
    102
    Par défaut
    bonjour,

    si tu utilise PHP5, il y a une autre possibilité, plus simple et jolie !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    class MaClasse
    {
        $proprietes = array();
        function __get($propriete)
        {
             return $this->proprietes[$propriete];
        }
        function __set($propriete, $valeur)
        {
            $this->proprietes[$propriete] = $valeur;
        }
    }
    puis tu peux l'utiliser comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $obj = new MaClasse();
    $obj->variable1 = "valeur1";
    print $obj->variable1; // valeur1
    $obj->variable2 = "valeur2";
    // ...

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

Discussions similaires

  1. [JSTL] Création dynamique de variables
    Par delpiero07 dans le forum Taglibs
    Réponses: 4
    Dernier message: 07/07/2008, 18h15
  2. Création dynamique de variables objet
    Par Oliv- dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 19/06/2008, 18h17
  3. [POO] Remplacement dynamique de variable
    Par max-mag dans le forum Langage
    Réponses: 2
    Dernier message: 14/06/2008, 11h35
  4. Réponses: 3
    Dernier message: 06/02/2008, 18h11
  5. [POO] Déclaration dynamique de variable membre
    Par fredrik dans le forum Langage
    Réponses: 10
    Dernier message: 01/09/2006, 08h12

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