¿Cómo puedo realizar análisis de código estático en PHP? [cerrado]
¿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
- ...
Ejecute php
en 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.
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 :)
Para que esté completo, consulte también phpCallGraph .
PHP Mess Detector es increíble y rápido.