5 Stimmen

Sollte ich eval() oder call_user_func() verwenden?

Ich arbeite an einem PHP-Projekt, und ich möchte Code ausführen, der aus einer MySQL-Datenbank abgerufen wird. Es gibt keine Chance, dass unsicherer Code eingeschleust wird, also ist das einzige, worüber ich mir Sorgen mache, die Performance. Sollte ich eval() verwenden, so dass ich den Code direkt ausführen kann, oder parsen Sie es so, dass call_user_func() es stattdessen ausführt?

Wenn der von mir abgerufene Code zum Beispiel "myfunc(1,2,3); anotherFunc(3,2,1);" lautet
Ich kann eval() direkt ausführen, um den Code auszuführen.

Aber für call_user_func() müsste ich den String parsen, damit er ausgeführt werden kann. Welche Funktion ist also in diesem Fall besser geeignet?

0 Stimmen

Entschuldigung für die Bearbeitung, aber ich bekomme solche Ide

0 Stimmen

S

0 Stimmen

T

0voto

alex Punkte 457905

Sie sollten den Code, den Sie ausführen möchten, auch in einen try/catch-Block einschließen, falls ein Fehler auftritt (auch wenn Sie gesagt haben, dass es keinen geben wird, besteht die Möglichkeit, und es ist die beste Vorgehensweise)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X