J'ai essayé d'utiliser php -l
et quelques autres outils.
Cependant, selon mon expérience, la meilleure (votre avis peut varier, bien sûr) est la suivante schéma de la boîte à outils pfff . J'ai entendu parler de pfff sur Quora ( Existe-t-il un bon outil de vérification et d'analyse statique de PHP ? ).
Vous pouvez le compiler et l'installer. Il n'y a pas de paquets sympas (sur mon Linux Mint système Debian, j'ai dû installer le libpcre3-dev , ocaml , libcairo-dev , libgtk-3-dev y libgimp2.0-dev dépendances d'abord) mais cela devrait valoir la peine de l'installer.
Les résultats sont présentés comme suit
$ ~/sw/pfff/scheck ~/code/github/sc/
login-now.php:7:4: CHECK: Unused Local variable $title
go-automatic.php:14:77: CHECK: Use of undeclared variable $goUrl.
0 votes
Site web connexe : La chaîne d'outils d'assurance qualité de PHP (phpqatools.org) et un autre outil statique est PHP_CompatInfo .
64 votes
Righty-o : fermé par SO, alors qu'il est clair que ce genre de réponse est incroyablement utile.
3 votes
D'accord. Cette question est cruciale. php lint (php -l file) ne fournit pas l'autre moitié : exécuter l'autoload, s'assurer qu'une fonction appelée existe, que les variables existent, que les propriétés des objets existent. etc.
1 votes
Phan (pour php-7) a vient d'être publié .
6 votes
@IraBaxter utile, mais pas, à proprement parler, sur le sujet. softwarerecs.stackexchange.com est probablement un endroit plus approprié. Bien sûr, l'ironie de la chose est que beaucoup plus de développeurs connaissent SO que sa sœur...
7 votes
Le fait que tant de personnes trouvent ce type de question utile est probablement la raison pour laquelle softwarerecs existe maintenant. Ce sujet semblait tout à fait d'actualité à l'époque où ce site était le seul site d'échange de piles. Maintenant qu'il y a un endroit clair pour cela, cela a-t-il un sens de migrer ?
4 votes
Fermé à cause de la gâchette facile des fermiers. Bah !
3 votes
Ni le fait d'être populaire ni le fait d'être ancien n'exemptent une question des règles. Nous ne sommes pas non plus "trigger happy" ; il n'y a aucun doute que cette question demande une bibliothèque, ni que ce genre de question est catégoriquement hors-sujet. Vous déclarez simplement "cette question est spécial et devrait donc être traitée différemment" sans fournir aucune raison réelle pour laquelle votre question mérite un tel traitement spécial.