psalm
https://github.com/vimeo/psalm
PHP
A static analysis tool for finding errors in PHP applications
Triage Issues!
When you volunteer to triage issues, you'll receive an email each day with a link to an open issue that needs help in this project. You'll also receive instructions on how to triage issues.
Triage Docs!
Receive a documented method or class from your favorite GitHub repos in your inbox every day. If you're really pro, receive undocumented methods or classes and supercharge your commit history.
PHP not yet supported18 Subscribers
Add a CodeTriage badge to psalm
Help out
- Issues
- Template argument lost when a `ReflectionClass<T>` built from `class-string<T>` is passed to a generic method (regression in 6.17.0)
- Resolve class-template type variables at read sites; fix deferred-model regressions
- Uncaught TypeParseTreeException: an unparseable `@self-out` / `@this-out` type crashes the scan phase
- [7.x] Taint: one of two flows into the same sink is dropped when one path is longer (visited guard also suppresses reporting)
- [6.x] Report InvalidDocblock instead of crashing on unparseable `@self-out` / `@if-this-is` types
- [7.x] Report every taint flow into a sink, not just the first to arrive
- [6.x] Throw `TypeParseTreeException` for an incomplete conditional type
- [6.x] Support parameter-conditional types in `@self-out` / `@this-out`
- Detect unused free functions; simplify dead-code roots
- Type variables minted in namespaced file-scope code are never reconciled
- Docs
- PHP not yet supported