PHP: détecter les erreurs de type « fonction non définie » avant l'exécution?

StackOverflow https://stackoverflow.com/questions/583205

  •  06-09-2019
  •  | 
  •  

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.

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top