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 :

variable dynamique et this


Sujet :

Langage PHP

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut variable dynamique et this
    Bonjour,

    je suis tombé hier sur un problème que je n'ai pas su résoudre.
    L'idée est simple.
    Nous avons une variable a='this';
    nous sommes dans une classe et nous voulons appeler this->ditCoucou();, méthode ditCoucou qui doit afficher 'OK'.
    Pour cela, je tente un
    ${$a}->ditCoucou();
    qui devrait donc évaluer $a en this et donc ${$a} en $this, et c'est là que les trucs byzarres commencent :


    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
    <?php
    class Test{
        function Test(){}
        function doTest(){
            $a='this';
            ${'this'}->ditCoucou();
            //var_dump(${'this'});
            ${$a}->ditCoucou();
        }
        function ditCoucou(){
            echo "OK";
        }
    }
    $test = new Test();
    $test->doTest();
    ?>
    renvoie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    OK
    Fatal error: Call to a member function ditCoucou() on a non-object
    alors que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ${'this'}->ditCoucou();
    var_dump(${'this'});
    ${$a}->ditCoucou();
    renvoie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OKobject(Test)#1 (0) { } OK
    Autrement dit, l'appel à var_dump permettrait de pouvoir utiliser la syntaxe de l'appel dynamique, alors que sinon on ne peut pas l'utiliser (sans).
    Ca me parait etrange, d'autant que dans la doc ya aucune référence dans les arguments pour var_dump.

    Quelqu'un pour éclairer ma lanterne sur ce fameux this?

    merci d'avance
    Dernière modification par Domi2 ; 06/08/2012 à 09h17.

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

Discussions similaires

  1. Variables dynamiques avec this["truc"], xml
    Par TrX dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 12/07/2009, 10h16
  2. Variables dynamiques
    Par CriPpLe dans le forum C++
    Réponses: 5
    Dernier message: 23/02/2005, 11h56
  3. [SQL SERVER 2000] Noms de variables dynamiques
    Par cassoulet dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 08/09/2004, 11h44
  4. Récupération de variables dynamiques complexes
    Par ludoboy dans le forum ASP
    Réponses: 7
    Dernier message: 24/05/2004, 17h51
  5. [LG]Problême Variable dynamique de types différents
    Par pierrOPSG dans le forum Langage
    Réponses: 2
    Dernier message: 29/04/2004, 16h01

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