+ Rispondi alla Discussione
Risultati da 1 a 6 di 6

riferirsi ad una classe con una variabile

Ultimo Messaggio di PaTeR il:
  1. #1
    User Newbie
    Data Registrazione
    Dec 2005
    Messaggi
    5

    riferirsi ad una classe con una variabile

    provate questo codice

    ------------------------------------------------
    class prova
    {
    function show()
    {
    echo "così funziona!";
    }
    }

    $a = "prova";
    $mio_oggetto = new $a;
    $mio_oggetto->show();
    ------------------------------------------------

    e ora provate questo

    ------------------------------------------------
    class prova2
    {
    const miavar="ciao!";
    }

    // funziona
    echo prova2::miavar;

    // non funziona
    $a="prova2";
    echo $a::miavar;
    ------------------------------------------------

    non posso riferirmi al nome della classe con una variabile nel secondo caso...e questo non mi permette di fare un sacco di belle cosette...!!!

  2. #2
    User Attivo
    Data Registrazione
    Nov 2004
    Località
    Catania
    Messaggi
    1,153

    Re: riferirsi ad una classe con una variabile

    Citazione Originariamente Scritto da dogeht
    provate questo codice

    ------------------------------------------------
    class prova
    {
    function show()
    {
    echo "così funziona!";
    }
    }

    $a = "prova";
    $mio_oggetto = new $a;
    $mio_oggetto->show();
    ------------------------------------------------

    e ora provate questo

    ------------------------------------------------
    class prova2
    {
    const miavar="ciao!";
    }

    // funziona
    echo prova2::miavar;

    // non funziona
    $a="prova2";
    echo $a::miavar;
    ------------------------------------------------

    non posso riferirmi al nome della classe con una variabile nel secondo caso...e questo non mi permette di fare un sacco di belle cosette...!!!
    prova così

    echo{$a}:miavar

    o così, che funziona sicuro ma puoi avere problemi di sicurezza se $a lo prendi da un form

    eval('echo '.$a.':miavar');

  3. #3
    User Newbie
    Data Registrazione
    Dec 2005
    Messaggi
    5
    la seconda che hai detto!!!
    la prima ipotesi non funzionava, ma la seconda si.
    l'avevo tentata anche io ma sbagliando, infatti non avevo scritto echo dentro l'espressione...che salame.
    certo che, come dice un mio amico, EVAL = EVIL
    non sono dati passati dalle form, vai sicuro, pero' sarebbe da non utilizzare lo so.

    quella che rimane una questione aperta e' il fatto che secondo me siamo di fronte ad un baco del php... ()

  4. #4
    User Attivo
    Data Registrazione
    Nov 2004
    Località
    Catania
    Messaggi
    1,153
    Citazione Originariamente Scritto da dogeht
    la seconda che hai detto!!!
    la prima ipotesi non funzionava, ma la seconda si.
    l'avevo tentata anche io ma sbagliando, infatti non avevo scritto echo dentro l'espressione...che salame.
    certo che, come dice un mio amico, EVAL = EVIL
    non sono dati passati dalle form, vai sicuro, pero' sarebbe da non utilizzare lo so.

    quella che rimane una questione aperta e' il fatto che secondo me siamo di fronte ad un baco del php... ()
    vedremo se trovo qualcosa su google.. comunque vedi un pò il fatto delle graffe, mi sembra c'entri qualcosa ehehehe

  5. #5
    User Newbie
    Data Registrazione
    Dec 2005
    Messaggi
    5
    le graffe servono se vuoi utilizzare la sintassi degli array dentro una stringa, ma in questo caso non mi aiutano! credo sia davvero un baco di php. a parte questo, per ora mi sfantazzo con eval. 8)

  6. #6
    User Attivo
    Data Registrazione
    Nov 2004
    Località
    Catania
    Messaggi
    1,153
    Citazione Originariamente Scritto da dogeht
    le graffe servono se vuoi utilizzare la sintassi degli array dentro una stringa, ma in questo caso non mi aiutano! credo sia davvero un baco di php. a parte questo, per ora mi sfantazzo con eval. 8)
    eheh in effetti mi ricordavo anche io così ma non sapevo se potevamo combinare qualcosa... mi disp ma mi sembra che per adesso puoi solo risolvere così

+ Rispondi alla Discussione

Tag per Questa Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.