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 :

probleme de setter


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de shark1308
    Homme Profil pro
    Architecte technique
    Inscrit en
    Janvier 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13
    Par défaut probleme de setter
    Salut,

    je rencontre un petit probleme sur l'OO de PHP de débutant().

    j'essaie de setter dynamiquement des propriétés d'une classe de la façon suivante :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    class Test
    {
        protected $_foo = array("conditions" => "ALL", "criteria" => null );
        protected $_bar = array();
     
             public function setProperty($property,$key, $value)
    	{
    		if(!preg_match("/^_/", $property))
    		{
    			$property = "_{$property}";						
    		}			
     
    		if(isset($this->$property[$key]))
    		{
    			$this->$property[$key] = $value; //ne fonctionne pas
                            $this->_foo[$key] = $value; //fonctionne 
    		}
    		else
    		{
    			Throw new Exception("Undefined  properties".$property[$key]);
    		}
     
    	}
     
     
    }
     
    $test = new Test();
    $test->setProperty("_foo","criteria","blablabla");
    Lorsque j'essaie de setter dynamiquement une propriété, le fait de lui passer une variable devant this, il n'a pas l'air apprécier, mais il ne me renvoit pas d'erreur.

    Je dois passer à coté de quelque chose mais je ne vois pas.

    Merci d'avance de votre aide.

  2. #2
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 250
    Par défaut
    Bonjour,

    Pourrais tu utiliser les balises [ CODE ] [ /CODE ] stp.

    Là c'est illisible.

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    fait :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    class Test
    {
        protected $_foo = array("conditions" => "ALL", "criteria" => null );
        protected $_bar = array();
     
        public function setProperty($property, $key, $value)
        {
            if('_' !== substr($property, 0, 1))
            {
                $property = "_{$property}";
            }
     
            if(array_key_exists($key, $this->$property))
            {
                $this->{$property}[$key] = $value; //ne fonctionne pas
                $this->_foo[$key] = $value; //fonctionne 
            }
            else
            {
                throw new Exception("Undefined  properties".$property);
            }
        }
    }
     
    $test = new Test();
    $test->setProperty("_foo","criteria","blablabla");
     
    var_dump($test);

    le isset renvoie false si la valeur est à null

  4. #4
    Membre averti Avatar de shark1308
    Homme Profil pro
    Architecte technique
    Inscrit en
    Janvier 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13
    Par défaut
    Merci stealth35,

    je te remercie pour l'astuce , tu m'as soulagé d'un bon mal de crâne..
    et désolé pour les tag, je ferais plus attention la prochaine fois..


    shark1308

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

Discussions similaires

  1. [2.x] Probleme getter setter
    Par modogo2000 dans le forum Symfony
    Réponses: 1
    Dernier message: 08/06/2013, 01h26
  2. [probleme] setter tout mon AbstractTableModel par un tableau
    Par jarrivepo dans le forum Composants
    Réponses: 1
    Dernier message: 07/06/2011, 09h28
  3. XMLDecoder noSuchMethodException probleme avec les setters
    Par Maxiflo dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 21/01/2009, 15h03
  4. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  5. [Kylix] Probleme de nombre flottant!!
    Par yopziggy dans le forum EDI
    Réponses: 5
    Dernier message: 02/05/2002, 10h13

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