Ver Mensaje Individual
  #39 (permalink)  
Antiguo 19/04/2011, 17:23
August
 
Fecha de Ingreso: febrero-2005
Mensajes: 626
Antigüedad: 19 años, 2 meses
Puntos: 10
Respuesta: Meter funciones PHP en EVAL

Cita:
Iniciado por abimaelrc Ver Mensaje
Bueno, volviendo al punto inicial eval lo que hace es ejecutar todo lo que coloques como texto. Debes entender que así como haces "normalmente" lo debes hacer entre comillas, recordando escapar aquellas comillas y los simbolos de $ cuando quieres mostrar la variable en sí, ejemplo
Código PHP:
Ver original
  1. <?php
  2. eval("\$foo = 'bar'; echo \$foo;"); // imprime bar

Si tratas de hacer esto
Código PHP:
Ver original
  1. <?php
  2. eval("$foo = 'bar'; echo $foo;");
Te va a soltar un error del tipo


REGRESANDO AL TEMA

PORQUE USO EVAL()?

He estado investigando en el vbulletin como este foro y otros frameworks y todavia usan eval para obtener un template, a lo mejor ya hay otras formas, pero creo que algunas aplicaciones han encontrado en eval una buena solucion

Acerca de la respuesta de abimaelrc yo uso eval de la siguiente manera

Código PHP:
      $variable="\$foo = 'bar'; echo \$foo;";
       eval(
'$salida = "' addslashes($variable) . '";');
        echo 
str_replace("\'""'",$salida); 
Sin embargo no me funciona correctamente, ya que me imprime lo siguiente:

Código PHP:
 'bar'; echo ; 
Cual seria el problema?,

Gracias por contestar y a todos los que contribuyeron, haciendo enfasis en la importancia de contestar sin ironias ni malos modos