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
- [bug] asserting `Foo<T>|T` is `Foo` should result in `Foo<T>|Foo` not `Foo<T>`
- Global variables should be impure like static variables
- UndefinedThisPropertyAssignment is only produced if property name can be inferred, even in sealed class
- Combination of nullable objects, nullable method returns and ternary operator gets types wrong
- `@psalm-assert-if-false` does not handle union type `Traversable|array`
- ParadoxicalCondition breaks variable tracking in switch
- Unexpected generic type of scalar is never bool with type assertion
- PHP Fatal Error not detected when class and trait have incompatible property types (readonly)
- Support converting `@phpstan-sealed` to `@psalm-inheritors`
- redundant `?->` inside `isset` and `??` is not reported.
- Docs
- PHP not yet supported