Question

Y at-il un outil d'analyse statique pour les fichiers source PHP? Le binaire lui-même peut vérifier les erreurs de syntaxe, mais je suis à la recherche de quelque chose qui ne se contente pas, comme:

  • affectations de variables inutilisées
  • tableaux qui sont assignés sans être initialisé en premier
  • et éventuellement des avertissements de style de code
  • ...
Était-ce utile?

La solution

Run php en mode-fibre à partir de la ligne de commande pour valider la syntaxe sans exécution:

php -l FILENAME

analyseurs statiques de niveau supérieur comprennent:

analyseurs de niveau inférieur comprennent:

analyseurs d'exécution, qui sont plus utiles pour certaines choses en raison de la nature dynamique phps, comprennent:

Les bibliothèques de documentation phpdoc et doxygen effectuer une sorte d'analyse de code. Doxygen, par exemple, peut être configuré pour rendre agréables graphes d'héritage avec graphviz .

Une autre option est xhprof , qui est similaire à xdebug, mais plus léger, le rendant approprié pour les serveurs de production. L'outil comprend une interface PHP.

Autres conseils

en ligne charpie PHP

PHPLint

des variables non initialisées vérifier . Lien 1 et 2 semblent déjà faire très bien, cependant.

Je ne peux pas dire que je l'ai utilisé l'une de ces intensive, cependant:)

Pour être complet -. Jetez également phpCallGraph

PHP détecteur de mess est génial et rapide.

Je l'ai essayé d'utiliser -l php $ et quelques autres outils. Cependant, le meilleur dans mon expérience (YMMV, bien sûr) est Scheck du jeu d'outils de pfff . J'ai entendu parler pfff sur Quora ( http://www.quora.com / Est-il-a-bon-PHP-lint-analyse-outil statique )

Vous pouvez compiler et l'installer. Il n'y a pas de beaux paquets (sur ma menthe Debian, je devais installer libpcre3-dev, OCaml, libcairo-dev, libgtk-3-dev et dépendances libgimp2.0-dev premier), mais il devrait être d'une valeur intsall.

Les résultats sont rapportés comme

rjha@mint ~ $ ~/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.

Les contrôles NetBeans IDE pour les erreurs de syntaxe, les variables inutilisées et autres. Il est pas automatisé, mais fonctionne très bien pour des projets de petite ou moyenne.

un nouvel outil appelé nWire pour PHP . Il est un plug-in d'exploration de code pour Eclipse PDT et Zend Studio 7.x. Il permet l'analyse de code en temps réel pour PHP et fournit les outils suivants:

  • La visualisation de code - représentation graphique interactive des composants et des associations
  • .
  • navigation Code -. Vue unique de navigation montre toutes les associations et travaille avec vous pendant que vous écrivez ou lisez le code
  • Recherche rapide -. Recherche que vous tapez des méthodes, des champs, fichier, etc

PHP PMD (projet détecteur de mess) et CPD PHP (détecteur de pâte de copie) en tant que première partie de PHPUnit

Il est RIPS - Un analyseur de code source statique pour les vulnérabilités dans les scripts PHP . Sources de RIPS disponibles à SourceForge .

A partir du site RIPS:

  

RIPS est un outil écrit en PHP pour trouver des vulnérabilités dans PHP   applications en utilisant l'analyse de code statique. Par tokenizing et l'analyse syntaxique tous   les fichiers de code source de Rips est capable de transformer le code source PHP dans un   modèle de programme et de détecter les puits sensibles (potentiellement vulnérables   fonctions) qui peuvent être entachées par userinput (influencé par un malveillant   utilisateur) pendant le déroulement du programme. En plus de la sortie structurée de trouvé   vulnérabilités RIPS offre également un cadre d'audit de code intégré   Pour plus d'analyse manuelle.

Il est tout à fait un nouvel outil d'analyse de code statique appelé PHP Analyzer .

Parmi les nombreux types d'analyse statique, il fournit également une fonctionnalité automatique de fixation de base

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