¿Cómo puedo realizar análisis de código estático en PHP? [cerrado]

Resuelto eswald asked hace 54 años • 12 respuestas

¿Existe una herramienta de análisis estático para archivos fuente PHP?

El binario en sí puede verificar errores de sintaxis, pero estoy buscando algo que haga más, como:

  • asignaciones de variables no utilizadas
  • matrices que se asignan sin ser inicializadas primero
  • y posiblemente advertencias de estilo de código
  • ...
eswald avatar Jan 01 '70 08:01 eswald
Aceptado

Ejecute phpen modo lint desde la línea de comando para validar la sintaxis sin ejecución:

php -l FILENAME

Los analizadores estáticos de nivel superior incluyen:

  • php-sat : requiere http://strategoxt.org/
  • PHP_Depende
  • PHP_CodeSniffer
  • Detector de desorden PHP
  • PHPStan
  • PHP-CS-Fixer
  • fan

Los analizadores de nivel inferior incluyen:

  • PHP_Parser
  • token_get_all (función primitiva)

Los analizadores de tiempo de ejecución, que son más útiles para algunas cosas debido a la naturaleza dinámica de PHP, incluyen:

  • Xdebug tiene cobertura de código y seguimiento de funciones .
  • Mi herramienta PHP Tracer utiliza un enfoque combinado estático/dinámico, basándose en los seguimientos de funciones de Xdebug.

Las bibliotecas de documentación phpdoc y Doxygen realizan una especie de análisis de código. Doxygen, por ejemplo, se puede configurar para representar bonitos gráficos de herencia con Graphviz .

Otra opción es xhprof , que es similar a Xdebug, pero más ligero, lo que lo hace adecuado para servidores de producción. La herramienta incluye una interfaz basada en PHP.

troelskn avatar Dec 18 '2008 22:12 troelskn

pelusa PHP en línea

PHPLint

Verificación de variables unificadas . Sin embargo, los enlaces 1 y 2 ya parecen hacerlo bien.

Aunque no puedo decir que haya usado ninguno de estos de forma intensiva :)

Martijn Laarman avatar Dec 18 '2008 19:12 Martijn Laarman

Para que esté completo, consulte también phpCallGraph .

Till avatar Dec 19 '2008 11:12 Till

PHP Mess Detector es increíble y rápido.

aredridel avatar Feb 17 '2012 17:02 aredridel