14 repositorios
Tools and interfaces for analyzing the structure and metadata of PHP source code.
Distinct from PHP Standard Interface Implementations: No candidate covers general PHP structural analysis; candidates focus on generators, linters, or PSR standards.
Explore 14 awesome GitHub repositories matching programming languages & runtimes · PHP Code Analysis. Refine with filters or upvote what's useful.
PHP-CS-Fixer is a static analysis tool and code style linter designed to validate PHP code against predefined standards. It functions as a coding standard fixer that automatically detects and corrects style violations to ensure consistent formatting across a codebase. The project serves as a syntax modernizer, providing automated tools to update legacy PHP syntax to align with newer language versions. It also allows for the creation of custom style rules when built-in standards do not meet specific requirements. The tool covers broad capability areas including automated linting workflows and
Analyzes PHP source code without execution to identify and fix syntax and styling issues.
ReflectionCommon is a PHP reflection interface library and code analysis abstraction. It serves as a foundation for static analysis by providing a shared specification for representing classes, methods, and properties during programmatic code inspection. The project standardizes the reflection API to decouple analysis tools from specific PHP reflection implementations. This ensures that different analysis implementations can work interchangeably through a consistent layer of interfaces. The library covers the domain of PHP code analysis and static analysis tooling, establishing a common way
Provides a standardized way to analyze PHP source code structures to ensure consistent results across different tools.
php-code-coverage is a PHP library and analysis tool designed to track runtime execution and determine which parts of a codebase are exercised by automated tests. It monitors executed lines and branches during a test run to identify gaps in test coverage and evaluate the effectiveness of a test suite. The tool functions as an execution tracker and report generator that transforms raw PHP execution data into human-readable formats. It serializes collected metrics for storage and utilizes a processing system to calculate the total percentage of code covered. Its capability surface covers the e
Analyzes PHP runtime execution and calculates coverage metrics for source code analysis.
This project is a PHP docblock annotation parser and reflection metadata tool designed to extract structured metadata from doc-comments and convert them into class instances. It functions as a system for retrieving and managing custom metadata attached to classes, methods, and properties. The library includes a metadata caching system to store parsed results, which reduces the performance overhead associated with repeated reflection calls and string parsing. It also serves as a static analysis utility for validating source code structure and enforcing coding standards through automated docblo
Analyzes the structure and metadata of PHP source code to validate structural consistency.
Larastan es una herramienta de análisis estático para PHP y una extensión especializada para PHPStan. Funciona como un analizador de código diseñado para detectar errores y problemas arquitectónicos en aplicaciones Laravel mediante el análisis del código fuente sin ejecutarlo. El proyecto proporciona conjuntos de reglas específicos del framework y una inferencia de tipos especializada para manejar los patrones y la lógica únicos del ecosistema Laravel. Esto permite una detección de errores y una verificación de tipos más precisas que las herramientas de análisis genéricas. La herramienta incluye sistemas para gestionar la deuda técnica de código heredado mediante el seguimiento de líneas base de errores y la supresión de errores basada en regex. Estas capacidades permiten identificar nuevas regresiones mientras se ignoran las violaciones existentes.
Performs structural analysis of PHP source code to identify bugs and quality improvements.
Larastan is a static analysis extension and type inference engine for PHP designed to detect bugs and type errors in Laravel applications. It extends PHPStan to resolve framework-specific patterns and magic methods, providing a rule-based scanning engine to audit code quality without executing the application. The tool specializes in Eloquent analysis, verifying that model properties, casts, and relationships align with database schemas and migrations. It tracks types across Eloquent collections, custom builders, and model factories to ensure type safety during database operations and iterati
Scans PHP source code to identify inefficient database queries, unused views, and architectural violations.
php-token-stream is a lexical analysis tool and tokenizer wrapper for PHP. It functions as a source code streamer that reads tokens one by one, preventing the need to load entire source files into memory. The project provides memory-efficient parsing by wrapping the native PHP tokenizer extension. This allows for the sequential processing of source code tokens to analyze structural components and syntax. The tool is designed for static code analysis and the development of compiler tooling. It supports linear token processing and sequential traversal to examine language constructs and project
Analyzes the structure and syntax of PHP source code token by token without loading entire files.
Phan es un analizador estático y verificador de tipos para PHP que identifica errores e incompatibilidades de tipo sin ejecutar el código. Sirve como una puerta de calidad para pipelines de integración continua y una herramienta para verificar la seguridad de tipos, comprobando específicamente tipos de unión, genéricos y formas de array. El proyecto se distingue por el uso de un demonio en segundo plano y una implementación del Protocolo de Servidor de Lenguaje (LSP), que proporcionan diagnósticos y navegación en tiempo real dentro de los editores. También cuenta con un sistema de supresión basado en línea base que permite a los desarrolladores registrar errores existentes en un archivo de instantánea para centrarse exclusivamente en nuevas regresiones. El motor de análisis cubre una amplia gama de capacidades, incluyendo la detección de código muerto, la validación de compatibilidad de lenguaje a través de diferentes versiones de PHP y la inferencia de tipos de variables y plantillas. Admite análisis extensible a través de un sistema de plugins y proporciona correcciones de código automatizadas para un subconjunto de problemas detectados. Los usuarios pueden iniciar el proceso generando un archivo de configuración con niveles de rigor seleccionables para validar gradualmente su base de código.
Identifying unused variables, unreachable code blocks, and redundant conditions to clean up PHP codebases.
PhpInsights es una herramienta de análisis estático y analizador de calidad de código para PHP. Evalúa el código fuente para identificar errores, violaciones de estilo y deuda técnica sin ejecutar la aplicación. La herramienta funciona como una utilidad de métricas de complejidad, calculando la complejidad arquitectónica y ciclomática para localizar lógica excesivamente complicada. Mide la salud general del software y la mantenibilidad comparando el código con los estándares de la industria. El sistema gestiona la deuda técnica mediante la validación basada en reglas y la puntuación basada en métricas. Utiliza un motor de análisis estático para analizar el código fuente, entregando los resultados a través de informes basados en consola y un archivo de configuración específico del proyecto.
Analyzes PHP source code for style and complexity issues to identify technical debt without running the application.
Esta librería es un analizador léxico de código fuente PHP y una herramienta de análisis estático que convierte código PHP sin procesar en tokens discretos y representaciones XML estructuradas. Funciona como un serializador que transforma flujos de tokens en un formato legible por máquina para el análisis programático y la manipulación del árbol de fuentes. El proyecto utiliza serialización XML basada en flujos y escritura de búfer basada en fragmentos para mantener un bajo consumo de memoria al procesar archivos grandes. Permite la configuración de espacios de nombres XML personalizados para asegurar la compatibilidad del esquema y evitar colisiones de nombres durante el proceso de transformación. El kit de herramientas cubre el análisis léxico y la conversión de código fuente en XML estructurado para soportar flujos de trabajo de análisis de código estático. Procesa flujos de tokens en una sola pasada para organizar listas de fuentes planas en una estructura XML jerárquica.
Converts PHP source code into structured XML to enable programmatic analysis and manipulation of the code tree.
Vulture es una herramienta de análisis estático y linter diseñada para encontrar variables, funciones y clases no utilizadas en código fuente Python. Opera como un detector de código muerto y buscador de código no utilizado que escanea archivos fuente para identificar expresiones e importaciones inalcanzables sin ejecutar el código. La herramienta emplea un sistema de puntuación heurística basado en confianza para asignar valores de probabilidad a las detecciones, ayudando a distinguir símbolos verdaderamente no utilizados de posibles falsos positivos. Además, ayuda a podar lógica muerta ordenando las clases y funciones no utilizadas detectadas por conteo de líneas para priorizar la eliminación de los bloques de código más grandes. La superficie de análisis incluye análisis de alcanzabilidad de flujo de control, seguimiento de referencias de símbolos y la capacidad de suprimir falsos positivos mediante patrones de nombres, decoradores o comentarios de ignorar. Vulture también soporta la generación y gestión de listas blancas (whitelists) mediante módulos mock para excluir elementos específicos de escaneos posteriores. Las reglas de análisis de todo el proyecto y las rutas de destino pueden gestionarse mediante archivos de configuración, incluyendo soporte para el formato TOML.
Identifies unused functions, classes, and variables in Python source code to reduce technical debt.
phpDocumentor is a PHP API documentation generator and source code analyzer that transforms PHP files and DocBlocks into structured HTML API references. It functions as a static site generator and an automatic documentation tool designed to synchronize technical documentation with code changes. The project distinguishes itself by acting as a UML diagram generator, producing class and architectural graphs via PlantUML based on source analysis. It also supports technical manual authoring, rendering hand-written guides in Markdown and ReStructuredText alongside the automatically generated API re
Parses PHP files to create structured metadata, abstract syntax trees, and visual relationship diagrams of the codebase.
Overcommit es un gestor de hooks de Git y framework de validación pre-commit diseñado para automatizar la ejecución de scripts y comprobaciones durante varios eventos de Git. Sirve como una herramienta de automatización de flujos de trabajo que asegura que la calidad del código y los estándares del proyecto se cumplan antes de que los cambios sean confirmados o enviados a un repositorio remoto. El sistema se distingue por una configuración integral basada en YAML que permite un control detallado del comportamiento de los hooks, incluyendo filtrado de ejecución de archivos, omisión condicional y la gestión de dependencias de hooks. Proporciona roles especializados como un validador de mensajes de commit para aplicar convenciones de nomenclatura y un protector de push para bloquear código inestable o inseguro antes de que llegue a las ramas remotas. El proyecto cubre una amplia gama de áreas de capacidad, incluyendo análisis estático y linting en múltiples idiomas, gestión automatizada de dependencias y verificación de seguridad como escaneo de secretos y cumplimiento de licencias. También gestiona la integridad del repositorio a través de la aplicación de ramas protegidas y ejecución de hooks en paralelo para optimizar el rendimiento.
Analyzes modified PHP files for errors during the pre-commit phase to prevent broken code.
This library provides a structured framework for managing runtime failures and debugging within PHP applications. It functions by intercepting native language errors, warnings, and system signals, converting them into catchable, object-oriented exceptions to ensure consistent control flow throughout the application lifecycle. The project distinguishes itself by normalizing raw execution backtraces and providing a transformation layer that standardizes how system failures are reported. It includes specialized tools for monitoring the class loading process, ensuring that dependency resolution i
Detects deprecated methods and invalid code structures to ensure long-term stability and adherence to modern standards.