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
- [6.x] Accept string pseudo-type intersections in docblocks
- Add support for reading inheritors from a phpstan-sealed tag
- Intersection `non-empty-string&lowercase-string` rejected as "must be all objects" (used by laravel/framework Str::lower)
- Suggestion for a progress symbol
- Fix the signature for `Sqlite3Result::columnName`
- @psalm-suppress <SinkSpecificIssue> (e.g. TaintedHeader) silently fails; only TaintedInput works
- [6.x] Resolve method templates for polymorphic array callables
- Fix undefined array key crash in FunctionDocblockManipulator
- RuntimeException: float not representable as int in CastAnalyzer on PHP 8.5
- `@psalm-assert-if-true !=''` widens `?class-string<X>` to `class-string<X>|non-empty-string`
- Docs
- PHP not yet supported