PHP eval -konstruktionen används för att utvärdera en indatasträng som PHP och sedan bearbeta den som sådan . Eval är inte en funktion, men den fungerar som en i den meningen att den matar ut allt—utom istället för att mata ut den som text, matar den ut den som PHP-kod som ska exekveras. En användning av konstruktionen eval är att lagra kod i en databas för att köras senare
Exempel på Eval Language Construct
Här är ett enkelt exempel på kodning för språkkonstruktionen eval.
";
eval("$a = "$a";");
skriv ut $a . "
”;
?>
- Detta kodexempel matar ut Mina vänner är $namn och $namn2 när de först anropas med utskriftssatsen, och det matar ut Mina vänner är Joe och Jim när den anropas andra gången efter att ha kört eval .
- Den skickade koden kan inte lindas in i öppnande och avslutande PHP-taggar.
Krav och egenskaper för Eval
Eftersom eval är en språkkonstruktion och inte en funktion, kan den inte användas i funktioner av högre ordning.
Faran med att använda Eval
PHP-manualen avråder från användningen av konstruktionen eval, att betona att användningen är ”mycket farlig” eftersom godtycklig PHP-kod kan köras. Användare instrueras att använda något annat alternativ än eval om det inte är möjligt. Användningen av PHP eval-konstruktionen innebär säkerhetsrisker.