Herramientas de análisis estático para PHP
Una lista seleccionada de herramientas de análisis estático para PHP.
Contribuyendo
Ver CONTRIBUIR.
Tabla de contenido
- Buscadores de errores
- Estándares de codificación
- bricolaje
- Reparadores
- Métrica
- SaaS
- Varios
Buscadores de errores
Herramientas para informar problemas en el código que son o conducen a errores.
- AppChecker: herramienta de análisis estático para encontrar errores, debilidades y vulnerabilidades en el código fuente
- Información sobre el código: una herramienta para analizar otras bases de código de proyectos.
- Métricas AST: un analizador de código estático ultrarrápido que le ayuda a identificar el código que necesita ser refactorizado.
- Churn-PHP: descubre archivos que necesitan refactorización.
- Composer-dependency-analyser: detección rápida de problemas de dependencia del compositor (dependencias no utilizadas, dependencias ocultas, dependencias fuera de lugar)
- Composer-Unused: una herramienta de Composer para mostrar las dependencias de Composer no utilizadas escaneando su código.
- Eir: una herramienta de análisis de vulnerabilidad estática escrita en C#.
- Exakat - Análisis estático inteligente.
- jscpd: detector de copiar/pegar para programar el código fuente.
- Mondrian: una herramienta de análisis de código que utiliza la teoría de grafos.
- detector de colisiones de nombres: detecta duplicados de símbolos (colisiones de nombres de clases).
- noverify: linter bastante rápido (utilidad de análisis estático de código) para PHP.
- Pfff: herramientas para análisis de código, visualizaciones o transformación de código fuente para preservar el estilo.
- Phanalist: un analizador estático para PHP. Le ayuda a detectar errores comunes en su código PHP.
- Análisis PHP: una biblioteca para analizar y modificar el código fuente PHP en Rascal (PHP AiR).
- PHParch: PHPArch es una biblioteca de pruebas arquitectónicas en progreso para proyectos PHP.
- Supuestos de PHP: encuentra supuestos débiles en el código y sugiere convertirlos en validaciones más sólidas.
- PhpCodeAnalyzer: encuentra el uso de extensiones no integradas.
- PHPCodeFixer: encuentra el uso de funciones, variables y directivas ini obsoletas.
- php-compat-info: descubra la versión mínima y las extensiones necesarias para que se ejecute un fragmento de código.
- php7mar - Informe del asistente de migración de PHP 7.
- phpcallgraph: genera gráficos de llamadas estáticas. Dicho gráfico visualiza las dependencias de llamadas entre métodos o funciones de una aplicación.
- PHPCPD: detecta código copiado/pegado y ayuda a hacer cumplir la regla DRY.
- PHPDoctor: comprueba archivos o directorios PHP en busca de tipos faltantes.
- Phan: el analizador estático de Rasmus, PHP Creator.
- Phinder - Buscador de piezas de código PHP
- Phortress: un analizador de código estático PHP para posibles vulnerabilidades.
- Compatibilidad de PHP: busque código que sea incompatible con un rango específico de versiones de PHP.
- Detector de obsolescencia de PHP - PhpDeprecationDetector: analizador de código PHP para buscar usos de funciones obsoletas en versiones más recientes del intérprete.
- Análisis estático de código PHP: programa de análisis estático de código PHP realizado en nodeJS.
- PHP Inspection: complemento de análisis estático para PHPStorm.
- PHP Integrator: indexa el código PHP y realiza análisis estáticos para el editor Atom.
- Phlint: Phlint es una herramienta cuyo objetivo es ayudar a mantener la calidad del código php analizando el código y señalando posibles problemas de código.
- PHP lint: PHP en sí, capaz de detectar errores de sintaxis desde la línea de comandos.
- PHPlint: validador y documentador de programas PHP 5.
- PHP-Parallel-Lint: una herramienta de linting de PHP paralelo para PHP 5.4 o posterior
- Detector de números mágicos PHP - Detector de números mágicos PHP
- PHP-malware-finder - Detecta archivos PHP potencialmente maliciosos
- PHP Mess Detector: busque varios problemas potenciales dentro del código fuente.
- PHP Reaper: escanea el código ADOdb en busca de inyecciones SQL.
- PHP SA: una herramienta de desarrollo destinada a brindar análisis complejos para aplicaciones y bibliotecas PHP.
- PHP Stan: se centra en encontrar errores en el código sin ejecutarlo.
- Desbloqueador de PHP: detecta posibles bloqueos de tablas de bases de datos no deseados para aplicaciones PHP que utilizan ADOdb. Utiliza métodos de análisis estático.
- Comprobabilidad de PHP: analiza y produce un informe con problemas de comprobabilidad de un código base PHP.
- Cazador de vulnerabilidades PHP: escanea vulnerabilidades PHP automáticamente utilizando métodos de análisis estático.
- Progpilot: una herramienta de análisis estático por motivos de seguridad.
- Psalm: una herramienta de análisis estático para encontrar errores en aplicaciones PHP.
- psecio:parse - Parse: un escáner de seguridad PHP.
- Qodana PHP de JetBrains: una herramienta de análisis estático para proyectos PHP basada en PhpStorm.
- SonarQube: una plataforma abierta para gestionar la calidad del código. Cubre el código PHP.
- Analizador de canal lateral: busca código vulnerable de canal lateral.
- TaintPHP - Analizador de contaminación estática.
- Tuli: un motor de análisis estático.
- Escáner no utilizado: detecta dependencias del compositor no utilizadas
- WAP: herramienta para detectar y corregir vulnerabilidades de validación de entradas en aplicaciones web PHP (4.0 o superior) y predice falsos positivos.
- PHP VarDump Check: aplicación de consola PHP para encontrar volcados de variables olvidadas.
- 17eyes: analizador estático PHP escrito en Haskell.
- CakeFuzzer: herramienta de prueba de seguridad de aplicaciones web definitiva para aplicaciones web basadas en CakePHP.
Estándares de codificación
Herramientas para revisar la forma en que se escribió el código PHP y más.
- Pahout: un socio de programación en pareja para escribir mejor PHP.
- compositor-normalizar: proporciona un complemento de compositor para normalizar compositor.json.
- EasyCodingStandard: una herramienta fácil de usar que permite utilizar CodeSniffer y PHP-CS-Fixer de forma sencilla.
- PHPas: una herramienta para formatear y embellecer el estilo del código PHP con mi estilo.
- PHPArkitect: PHPArkitect le ayuda a mantener su base de código PHP coherente y sólida, permitiéndole agregar algunas comprobaciones de restricciones arquitectónicas a su flujo de trabajo.
- PHP Code Sniffer: PHPCS verifica y corrige automáticamente el código para una amplia gama de estándares de codificación.
- PHPCheckstyle: una herramienta para ayudar a cumplir con ciertas convenciones de codificación.
- PHP Doc Check: utiliza métricas de complejidad para hacer cumplir las convenciones de documentación en funciones no triviales.
- Formateador PHP: este formateador PHP tiene como objetivo proporcionarle algunas acciones masivas para sus proyectos PHP para garantizar su coherencia.
- TLint: este es un linter de código obstinado (¡con soporte cada vez mayor para el formato automático!) para ajustar las convenciones de código con sabor para Laravel y PHP.
bricolaje
Bibliotecas que pueden ser la base de un analizador estático casero.
- Deptrac: una herramienta de análisis de código estático para hacer cumplir reglas de dependencias entre capas de software.
- Probador de arquitectura PHP: herramienta de prueba de arquitectura fácil de usar para PHP
- PHPArkitect: una herramienta de análisis de código estático para hacer cumplir las reglas arquitectónicas en su código base
- PHP-cfg: una implementación de gráfico de flujo de control en PHP. Escrito por IrcMaxwell.
- Detector de acoplamiento PHP: compruebe que el código no tenga clases acopladas no deseadas.
- PHP Parser: escrito en PHP por Nikita Popov y basado en la gramática real de PHP.
- PHP Token Reflection: biblioteca que emula la reflexión interna de PHP utilizando solo el código fuente tokenizado.
- PHPSandbox: una clase de zona de pruebas PHP 5.3.2+ a gran escala que utiliza PHPParser para evitar que el código de zona de pruebas ejecute código no seguro.
- Reflection: biblioteca de Reflection para realizar análisis estáticos para proyectos PHP.
- Better Reflection: biblioteca Reflection con características adicionales como el análisis de sugerencias de tipo docblock, utiliza el analizador PHP de nikic bajo el capó.
Reparadores
Herramientas para corregir automáticamente el código que se les proporciona.
- Rector - Actualizaciones instantáneas basadas en AST de aplicaciones PHP
- FunctionFQNReplacer: proporciona una manera de reemplazar referencias relativas de funciones en llamadas a funciones con referencias absolutas.
- Phpactor: este proyecto tiene como objetivo proporcionar herramientas de introspección y refactorización pesadas.
- PHP BackSlasher: herramienta para agregar todas las funciones y constantes internas de PHP a su espacio de nombres agregándoles una barra invertida.
- php-refactoring-browser: herramienta de refactorización CLI.
- PHP CS Fixer: analiza e intenta solucionar problemas de estándares de codificación (compatible con PSR-1 y PSR-2).
- phpdoc to typehint: convierte los comentarios de phpdocs en Typehint real (argumentos y devolución).
- php-scoper: antepone todos los espacios de nombres PHP en un archivo/directorio para aislar el código incluido en PHAR.
- Transphpile: escriba PHP 7, ejecute PHP 5.6, con funciones de backport.
- PHP Weaver: analiza tipos de parámetros en tiempo de ejecución y genera los phpdocs apropiados.
Métrica
Herramientas para medir la complejidad del código, línea de códigos, etc.
- AST Metrics: un analizador de código estático ultrarrápido que calcula varias métricas para ayudar a identificar el código que necesita ser refactorizado y proporciona una hermosa interfaz gráfica.
- churn-php: ayuda a descubrir buenos candidatos para la refactorización.
- Detector de patrones de diseño: detección de patrones de diseño en código PHP.
- dePHPend: dePHPend ayuda a analizar dependencias y arquitectura y le permite definir restricciones para ambas.
- Dissect: un conjunto de herramientas para el análisis léxico y sintáctico.
- php-arguments-detector: mantenga el control sobre la complejidad de sus métodos verificando que no tengan demasiados argumentos.
- php-smelly-code-detector - Detector de olores de código PHP.
- PHPLOC: utilidad para medir el tamaño de la aplicación PHP y contar varias estructuras.
- Métricas PHP: calcula todo tipo de métricas y las muestra en una interfaz magnífica.
- Comprobador de versiones semánticas de PHP: compara dos conjuntos de fuentes y determina el control de versiones semántico adecuado a aplicar.
- PhpStats: herramienta para recopilar estadísticas, métricas, dependencias y crear varios gráficos para proyectos grandes para encontrar cuellos de botella.
- PhpDependencyAnalysis: análisis de código estático para proporcionar y verificar un gráfico de dependencia frente a una arquitectura definida.
- php-wording-detector: herramienta sencilla para analizar y dividir las palabras contenidas en su código para comprobar su enfoque DDD.
- Quality Analyzer: Quality Analyzer es una herramienta para visualizar métricas y código fuente.
Visualización
Herramientas que muestran código PHP de forma gráfica
- PHPcity: PHPCity es una implementación de visualización de metáforas de ciudades y proporciona visualización de proyectos PHP que se implementan de forma orientada a objetos.
SaaS
Servicios en línea para código PHP, proporcionan paneles. Podrán utilizar las herramientas anteriores u ofrecer las suyas propias.
- Bliss: revisa automáticamente el código en tiempo real y muestra cuánto vale en líneas de código.
- Codacy - Codacy: Revisión de código automatizada.
- CodeBeaat - Disminuir la deuda técnica. Encuentre oportunidades de refactorización.
- Code Climate: análisis estático alojado para código fuente Ruby, PHP y JavaScript.
- CodeScene: priorice la deuda técnica en PHP, JavaScript, etc.
- Codegrip: una forma más inteligente y segura de revisar el código
- Deepsource: DeepSource es una plataforma moderna de análisis estático, creada para equipos de ingeniería que se mueven rápido y no rompen cosas.
- Insight: una herramienta de SensioLabs para analizar el código fuente y encontrar problemas que degraden la calidad general de sus proyectos.
- Insphpect: Insphpect es una herramienta de revisión de código automatizada que identifica inflexibilidades en el código PHP y le ayuda a escribir un mejor software.
- RIPS: el software de seguridad superior para aplicaciones PHP. Analizador estático de código fuente para vulnerabilidades.
- Scrutinizer: mejore la calidad del código y encuentre errores antes de que lleguen a producción con nuestra plataforma de inspección continua.
- Sourcegraph: comprenda y busque en toda su base de código
- SideCI: CI para revisión automatizada de código mediante análisis de código.
- Laravelshift: la forma automatizada de actualizar las aplicaciones Laravel. Actualice las aplicaciones de Laravel desde Laravel 4.2 hasta la última versión de Laravel.
Varios
- HHVM - Hackear lenguaje de Facebook. Agregue un SCA hasta la versión 3.3.8, la versión más nueva ya no existe.
- Manipulador PHP: una biblioteca para analizar y modificar el código fuente PHP.
- PHP Parser: una biblioteca NodeJS para analizar PHP y extraer tokens y AST.
- PHPQA: un contenedor para muchas herramientas PHP incluidas en un único archivo HTML.
- Fixtro: un contenedor que permite ejecutar cada confirmación previa. Instala él mismo todas las dependencias de los corredores con muchos de ellos (phpunit, phpmd, php-cs-fixer, etc.)
- Comprobador de cobertura: una herramienta que permite que algunas de las herramientas aquí se apliquen únicamente en el código modificado. Bueno para avanzar hacia nuevos estándares
- Composer Require Checker: una herramienta CLI para comprobar si un paquete de compositor específico utiliza símbolos importados que no forman parte de sus dependencias directas del compositor.
- Línea base de resultados de análisis estático: una herramienta para generar una línea base a partir de herramientas de análisis estático.