eval Wertet eine Zeichenkette als PHP-Code aus &reftitle.description; mixedeval stringcode Wertet die in code enthaltene Zeichenkette als PHP aus. Der ausgewertete Code erbt den Geltungsbereich der Variablen von der Zeile, in der die Funktion eval aufgerufen wird. Alle Variablen, die in dieser Zeile verfügbar sind, können im ausgewerteten Code gelesen und verändert werden. Alle definierten Funktionen und Klassen werden jedoch im globalen Namensraum definiert. Mit anderen Worten, der Compiler betrachtet den ausgewerteten Code so, als wäre er eine separate eingebundene Datei. Das eval-Sprachkonstrukt ist sehr gefährlich, weil es die Ausführung von beliebigem PHP-Code erlaubt. Seine Verwendung wird daher nicht empfohlen. Wenn sorgfältig überprüft wurde, dass es keine andere Möglichkeit gibt als dieses Konstrukt zu verwenden, ist besonders darauf zu achten keine von Nutzern bereit gestellten Daten zu übergeben ohne diese zuvor ordnungsgemäß zu validieren. &reftitle.parameters; code Gültiger PHP-Code, der ausgewertet werden soll. Der Code darf nicht in öffnende und schließende PHP-Tags eingeschlossen sein, &dh; 'echo "Hi!";' muss anstelle von '<?php echo "Hi!"; ?>' übergeben werden. Es ist dennoch möglich den PHP-Modus durch die entsprechenden PHP-Tags zu verlassen und wieder zu betreten, &zb; 'echo "Im PHP-Modus!"; ?>Im HTML-Modus!<?php echo "Wieder im PHP-Modus!";'. Abgesehen davon muss der übergebene Code gültiges PHP sein. Das beinhaltet, dass alle Anweisungen ordnungsgemäß mit einem Strichpunkt terminiert sein müssen. 'echo "Hi!"', zum Beispiel, verursacht einen Parse-Fehler, wohingegen 'echo "Hi!";' funktioniert. Eine return-Anweisung beendet die Auswertung des Codes sofort. Der Code wird im Geltungsbereich des eval aufrufenden Codes ausgeführt. Daher bleiben sämtliche Variablen, die im eval Aufruf definiert oder geändert werden, nach dessen Ende sichtbar. &reftitle.returnvalues; eval gibt &null; zurück, außer wenn im ausgewerteten Code return aufgerufen wird, dann aber wird der an return übergebene Wert zurückgegeben. Von PHP 7 an, wird eval im Falle eines Parse Errors im ausgewerteten Code eine ParseError-Exception werfen. Vor PHP 7 gab eval in diesem Fall &false; zurück und der weitere Code wurde normal ausgeführt. Es ist in eval nicht möglich, einen Parse Error mittels set_error_handler abzufangen. &reftitle.examples; <function>eval</function>-Beispiel (einfache Texteinfügung) ]]> &example.outputs; &reftitle.notes; ¬e.language-construct; &tip.ob-capture; Im Fall eines schweren Fehlers im augewerteten Code wird das komplette Skript beendet. &reftitle.seealso; call_user_func