Eval () Constructo PHP

El PHP eval () construct se usa para evaluar una cadena de entrada como PHP y luego procesarla como tal. Eval () no es una función, pero funciona como tal en el sentido de que genera todo, excepto que, en lugar de generarlo como texto, lo genera como código PHP para su ejecución. Un uso de la construcción eval () es almacenar código en una base de datos para ejecutarlo más tarde.

Ejemplo de construcción de lenguaje Eval ()

Aquí hay un ejemplo simple de codificación para la construcción del lenguaje eval ().

 "; 

 eval ("\ $ a = \" $ a \ ";"); 

 imprimir $ a. "

"; 

 ?> 

Este ejemplo de código genera Mis amigos son $ name y $ name2 cuando se llama por primera vez con la instrucción print, y genera Mis amigos son joe y jim cuando se llama la segunda vez después de ejecutar eval ().

Requisitos y características de Eval ()

  • El código aprobado no se puede envolver al abrir y cerrar etiquetas PHP.
  • El código aprobado debe ser PHP válido..
  • Todas las declaraciones deben terminarse con un punto y coma..
  • UN regreso declaración termina la evaluación del código.
  • Cualquier variable definida o modificada en eval () permanece después de que termina.
  • Qué error fatal ocurre en el código evaluado, el script sale.
  • Debido a que eval () es una construcción de lenguaje y no una función, no se puede usar en funciones de orden superior.

El peligro de usar Eval ()

El manual PHP desalienta el uso de la construcción eval (), enfatizando que su uso es "muy peligroso" porque se puede ejecutar un código PHP arbitrario. Los usuarios tienen instrucciones de usar cualquier otra opción que no sea eval () a menos que no sea posible. El uso de PHP eval () construye presenta riesgos de seguridad.