note 92938 added to function.eval
| From: | php at imw dot fr | Date: | Sat, 15 Aug 2009 13:52:43 +0000 |
| Subject: | note 92938 added to function.eval | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-159512@lists.php.net to get a copy of this message | ||
Une petit fonction pour vérifier la syntaxe d'un code. La différence avec les
précédente est de pouvoir tester un code contenant des fonctions et de pouvoir
l'exécuter ensuite sans qu'il génère l'erreur de redéclaration des
fonctions.
On récupère en plus le message d'erreur pour pouvoir le traiter.
<?php
function check_syntax($code)
{
ob_start();
eval('return true;function check_syntax_'.uniqid().'(){' .
$code.'}');
return ob_get_clean();
}
?>
Le code n'est pas exécuté, et les fonctions ne sont pas chargée, mais la syntaxe est
vérifiée.
----
Server IP: 89.31.146.176
Probable Submitter: 86.217.182.60
----
Manual Page -- http://www.php.net/manual/en/function.eval.php
Edit -- https://master.php.net/note/edit/92938
Del: integrated -- https://master.php.net/note/delete/92938/integrated
Del: useless -- https://master.php.net/note/delete/92938/useless
Del: bad code -- https://master.php.net/note/delete/92938/bad+code
Del: spam -- https://master.php.net/note/delete/92938/spam
Del: non-english -- https://master.php.net/note/delete/92938/non-english
Del: in docs -- https://master.php.net/note/delete/92938/in+docs
Del: other reasons-- https://master.php.net/note/delete/92938
Reject -- https://master.php.net/note/reject/92938
Search -- https://master.php.net/manage/user-notes.php