This project is a static analysis engine and type checker designed for PHP codebases. It evaluates source code structure and type annotations to identify potential bugs, type mismatches, and logic errors without executing the application. By parsing code into an abstract syntax tree and applying a rule-based validation framework, it enforces code quality and safety standards across a project. What distinguishes this tool is its sophisticated type inference engine, which models dynamic language features, magic methods, and conditional types to maintain accuracy even in unconventional code. It
lua-language-server is a static analysis tool and type checker for the Lua language that implements the Language Server Protocol. It provides a system for detecting type mismatches, unused code, and logic errors in source files. The project features an inference-based type system that deduces variable types and supports optional annotations and meta files to enforce type safety. It allows for the definition of custom types and function signatures, including support for overloads and member visibility controls. The server provides a broad set of IDE capabilities, including real-time code auto
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
Pylint is a static code analysis tool for Python that checks source code for errors, coding standard violations, and code smells without executing the program. It parses code into an abstract syntax tree and walks the tree to detect issues, enforces configurable style rules and naming conventions, and identifies duplicate code blocks by comparing tokenised source sequences. The tool also includes an inference engine that deduces variable types by simulating code paths, enabling deeper analysis even in untyped code. What distinguishes Pylint is its plugin-based checker architecture, which allo
Phan este un analizor static și un verificator de tipuri pentru PHP care identifică bug-uri și incompatibilități de tip fără a executa codul. Acesta servește ca o poartă de calitate pentru pipeline-urile de integrare continuă (CI) și un instrument pentru verificarea siguranței tipurilor, verificând în mod specific tipurile union, genericele și formele de array.
Principalele funcționalități ale phan/phan sunt: Type Safety, PHP Type Checkers, Code Quality and Analysis, IDE Real-time Feedback, Language Server Protocol Implementations, Language Server Protocols, CI/CD Pipeline Integrations, Dead Code Analysis.
Alternativele open-source pentru phan/phan includ: phpstan/phpstan — This project is a static analysis engine and type checker designed for PHP codebases. It evaluates source code… luals/lua-language-server — lua-language-server is a static analysis tool and type checker for the Lua language that implements the Language… larastan/larastan — Larastan is a static analysis extension and type inference engine for PHP designed to detect bugs and type errors in… pycqa/pylint — Pylint is a static code analysis tool for Python that checks source code for errors, coding standard violations, and… dequelabs/axe-core — axe-core is an automated accessibility testing engine and compliance auditor designed to scan web and mobile… terraform-linters/tflint — TFLint is a static analysis tool and infrastructure-as-code validator designed to identify errors and enforce best…