Ver Mensaje Individual
  #43 (permalink)  
Antiguo 19/04/2011, 21:49
Avatar de pateketrueke
pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Meter funciones PHP en EVAL

Disculpen la tardanza, vaya lío.

La verdad no dejo de ver eval() como una solución anticuada, y hasta mal aplicada por ahora.

Se por experiencia que hay casos en los que puede ser necesario, pero solo en casos muy extremos, y casi imposibles de reproducir.

Esa es una de las razones principales de usar eval() para un sistema de plantillas, no sabes cuando algo puede fallar o estar mal escrito, porque incluso:

- Un error generado por mala sintaxis en eval() simplemente no te da la precisión que cualquier otro error si
- No ayuda a escribir código pues los resaltadores de sintaxis no funcionan
- El código resultante de las plantillas resulta complicado de leer
- etc...

Usando include:
Código PHP:
$foo 'x';
$bar 'D';

ob_start();
include 
'plantilla.php';
$candy ob_get_contents();
ob_end_clean();

echo 
$candy// xD 
plantilla.php
Código PHP:
<?php echo $foo?><?php echo $bar?>
Ese es el concepto mas primitivo y básico de un sistema de plantillas basado en include, y bueno, con ciertos añadidos para poder capturar dicho contenido en una variable.

Sigo sin entender, y ahora lo veo mas claro, cual es la necesidad explicita de usar eval() en lugar de otras técnicas.

A pesar del riesgo, ¿cual es la ventaja?

Si es por mera curiosidad la perdida de tiempo que esto implica.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 20/04/2011 a las 07:55 Razón: ;-)