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
- fix(assert): resolve self in an assertion of a trait method to the class using it
- Own `@psalm-taint-sink` of an override is lost when the parent method has templates
- Method call on object{...}&Class intersection is MixedMethodCall when the shape comes first
- Taint: a string sent into an `instanceof` branch taints `$this` of every `@psalm-immutable` override, and the result reaches every virtual call
- Docblock types are not inherited through a partially documented intermediate class
- fix(arrays): report an offset that can't be an array key when assigning to an array
- fix(closure): don't keep the capture-time literal of a variable captured by reference
- fix(analysis): count $this->prop[...] = ... as a mutation of the property
- fix(algebra): the right side of && assigning an offset or property forgets only what the left side tested of it
- fix(docblock): an int-mask accepts a global constant used from a namespace
- Docs
- PHP not yet supported