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 supported14 Subscribers
Add a CodeTriage badge to psalm
Help out
- Issues
- InvalidArgument: Type array{a: string, b: int} should be a subtype of array{b: int}
- Does not recognize PDOStatement::bindParam() effects
- Constructor property promotion doesn't give a warning for deprecation
- Psalm emits InaccessibleProperty and RedundantPropertyInitializationCheck for checks and mutating code in the "__wakeup"
- Checking !empty on a "int" param, will cause function_exists assertion to fail - really weird
- Duplicate type on parameter not detected.
- FalsePositive InvalidArgument with generics
- templates + `\Closure::fromCallable()` / first class callables bug
- Implement parallel analysis using amphp/parallel (adds windows support)
- `@psalm-inheritors` union inference is wrong if a concrete class is being extended
- Docs
- PHP not yet supported