Eval () PHP Construct

Le PHP eval () La construction est utilisée pour évaluer une chaîne d'entrée en PHP, puis la traiter comme telle. Eval () n'est pas une fonction, mais elle fonctionne comme une dans le sens où elle sort tout - sauf au lieu de la sortir sous forme de texte, elle la sort en code PHP à exécuter. Une utilisation de la construction eval () consiste à stocker du code dans une base de données pour une exécution ultérieure.

Exemple de construction de langage Eval ()

Voici un exemple simple de codage pour la construction du langage eval ().

 "; 

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

 imprimer $ a. "

"; 

 ?> 

Cet exemple de code affiche Mes amis sont $ name et $ name2 lors de son premier appel avec l'instruction print, et il génère Mes amis sont Joe et Jim lors d'un deuxième appel après avoir exécuté eval ().

Exigences et caractéristiques de l'évaluation ()

  • Le code transmis ne peut pas être enveloppé dans les balises PHP d'ouverture et de fermeture.
  • Le code transmis doit être PHP valide.
  • Toutes les instructions doivent se terminer par un point-virgule.
  • UNE revenir L'instruction met fin à l'évaluation du code.
  • Toute variable définie ou modifiée dans eval () reste après sa fin.
  • Quelle erreur fatale se produit dans le code évalué, le script se ferme.
  • Parce que eval () est une construction de langage et non une fonction, il ne peut pas être utilisé dans des fonctions d'ordre supérieur.

Le danger d'utiliser Eval ()

Le manuel PHP décourage l'utilisation de la construction eval (), soulignant que son utilisation est "très dangereuse" car du code PHP arbitraire peut être exécuté. Les utilisateurs sont invités à utiliser toute autre option que eval (), sauf si cela n'est pas possible. L'utilisation de la construction PHP eval () présente des risques de sécurité.