Ciao
ho una richiesta abbastanza particolare, ho un metodo che esegue un eval, esempio:
tutto funziona perfettamente.Codice PHP:
function do_eval(){
$code = '
/*varie cose...*/
return "pippo"
';
return eval($code);
}
Il mio problema è che vorrei passare in qualche modo lo scope attuale alla funzione do_eval(). In pratica, vorrei che dallo script eseguito in do_eval() si possa avere accesso a tutte le variabili a cui accedo dal punto in cui chiamo do_eval().
Esempio:
vorrei che l'output di call_do_eval() fosseCodice PHP:
function do_eval(){
$code = '
return $variabile_esterna." pippo"
';
return eval($code);
}
function call_do_eval(){
$variabile_esterna = "assegnazione manuale";
echo do_eval();
}
potrei risolvere il problema passando il parametro $variabile_esterna alla funzione do_eval, ma non è quello che voglio, sempre se possibile, vorrei poter "esportare" lo scope locale della funzione call_do_eval e passarlo alla funzione do_eval.codice:assegnazione manuale pippo
E' possibile che voi sappiate?