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 supported17 Subscribers
Add a CodeTriage badge to psalm
Help out
- Issues
- False InvalidPropertyAssignmentValue when closing a resource stored in a typed array property
- RiskyTruthyFalsyComparison treats callable as possibly falsy
- `($a['k'] ?? false) && …` doesn't establish that the key is set
- Variable written by a closure through `use (&$x)` is assumed to keep its initial null
- Spreading an array shape with integer keys that isn't a list gives TooFewArguments
- A condition reassigning a variable it already assigned narrows another variable to the wrong type
- Stale clauses after $r = <bool expr> when the expression changes a variable by reference
- No PossiblyUndefinedVariable after a variable is unset in a branch
- Calling a Closure doesn't forget memoized mutation-free getter results
- Type after `do {} while ($q !== null && g())` keeps `$q` non-null
- Docs
- PHP not yet supported