Eval () PHP Construct

PHP eval () konstruktion används för att utvärdera en inmatningssträ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 i stället för att mata ut den som text, matar den ut som PHP-kod som ska köras. En användning av eval () -konstruktionen är att lagra kod i en databas för att utföra senare.

Exempel på Eval () Språkkonstruktion

Här är ett enkelt exempel på kodning för eval () språkkonstruktion.

 "; 

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

 skriv ut $ a. "

"; 

 ?> 

Detta kodexempel matar ut Mina vänner är $ name och $ name2 när den först ringdes med utskriften, och det matas ut Mina vänner är Joe och Jim när man ringde andra gången efter att ha kört eval ().

Krav och egenskaper hos Eval ()

  • Den godkända koden kan inte förpackas för att öppna och stänga PHP-taggar.
  • Den skickade koden måste vara giltig PHP.
  • Alla uttalanden måste avslutas med en semikolon.
  • EN lämna tillbaka uttalande avslutar kodutvärderingen.
  • Varje variabel som definieras eller ändras i eval () kvarstår efter att den upphör.
  • Vilket ett dödligt fel inträffar i den utvärderade koden, existerar skriptet.
  • Eftersom eval () är en språkkonstruktion och inte en funktion kan den inte användas i högre ordning.

Faren för att använda Eval ()

PHP-manualen avskräcker användningen av eval () -konstruktionen, och betonar att dess användning är "mycket farlig" eftersom godtycklig PHP-kod kan köras. Användare instrueras att använda något annat alternativ än eval () såvida det inte är möjligt. Användningen av PHP eval () -konstruktion presenterar säkerhetsrisker.