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 :

Accès "dynamique" à une propriété d'un objet [PHP 5.0]


Sujet :

Langage PHP

  1. #1
    En attente de confirmation mail
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2002
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Accès "dynamique" à une propriété d'un objet
    Bonjour,

    Je tente d'accéder à une propriété d'un objet dynamiquement.
    Je recherche le genre de syntaxe que l'on utilise avec les variables classiques :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ${"myString".$varPHP} = 0;
    Appliqué à un objet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $monInstance.{$leNomDeMaPropriete} = 0; // ne fonctionne pas évidemment
    J'utilise cela dans une boucle, auriez vous une suggestion, est-ce possible en PHP5 ?

  2. #2
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    En POO avec PHP, on accèdes à la propriété d'un objet sous cette forme :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $objet->propriete;

  3. #3
    En attente de confirmation mail
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2002
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci, mais mon problème est différent.
    Cette syntaxe ne suffit pas justement, voici une portion du code incriminé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $monInstance = new maClass;
    $tabDesProp = array("propA", "propB", "propC");
     
    foreach( $tabDesProp as $propTMP ) {
         $monInstance->{$propTMP} = 0;
    }
    Vois tu où je veux en venir ?

  4. #4
    Membre averti
    Homme Profil pro
    Consultant PLM
    Inscrit en
    Août 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Consultant PLM

    Informations forums :
    Inscription : Août 2007
    Messages : 203
    Points : 304
    Points
    304
    Par défaut
    As-tu essayé
    $monInstance->$propTMP = 0;
    ou
    $monInstance->${$propTMP} = 0;

  5. #5
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $monInstance->$propTMP

    devrait marcher

  6. #6
    En attente de confirmation mail
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2002
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Parfait, cette solution fonctionne parfaitement.

    Merci !

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

Discussions similaires

  1. Réponses: 20
    Dernier message: 18/01/2015, 23h33
  2. évaluation dynamique d'une propriété d'un contrôle web
    Par blaise.braye dans le forum ASP.NET
    Réponses: 5
    Dernier message: 28/10/2010, 19h01
  3. Réponses: 8
    Dernier message: 15/02/2010, 14h16

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