- Home
- Categorie
- Coding e Sistemistica
- PHP
- riferirsi ad una classe con una variabile
-
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...!!!
-
@dogeht said:
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');
-
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... ()
-
@dogeht said:
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... () :ovedremo se trovo qualcosa su google.. comunque vedi un pò il fatto delle graffe, mi sembra c'entri qualcosa ehehehe
-
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.
-
@dogeht said:
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ì