PHP: détecter les erreurs de type « fonction non définie » avant l'exécution?
Question
est-il un outil qui permettra de détecter les erreurs potentielles comme « fonction non définie » dans un script PHP avant exécution?
Par exemple, considérons:
<?php
zarfnutz ( 'blah' );
?>
Si vous demandez à l'interface de ligne de commande PHP pour vérifier que les erreurs de syntaxe, il répond qu'il n'y en a pas. Mais bien sûr, le script échouera si vous essayez de le lancer, car il n'y a pas de fonction appelée « zarfnutz ».
Je comprends que si la langue est assez auto-référentiel, il est littéralement impossible de créer un tel outil qui est garanti précis (je ne sais pas si PHP est en fait auto-référentielle assez). Mais en tout cas, il pourrait certainement être un outil qui pourrait au moins avertir que « zarfnutz » peut être défini, et un tel outil serait très utile pour moi.
Quelqu'un sait-il d'un?
Merci d'avance.
La solution
Je crois que c'est l'une des caractéristiques de PHPLint .
Autres conseils
Eh bien, je ne sais pas d'un outil pour le faire, mais function_exists
et get_defined_functions
font partie du noyau de PHP.
Exécuter php sur le fichier avec le drapeau de la charpie (vérification de la syntaxe uniquement):
php -l FILE
Un moyen de vérifier est d'utiliser function_exists()
. Il est pas tout à fait aussi flexible que la vérification via php -l, mais il va faire le travail.