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
- Plugin RemoveTaints answers can land on shared @psalm-flow edges and silence unrelated taint flows (AddRemoveTaintsEvent has no dispatch context)
- Taint analysis attributes a named argument to its positional index, not the named parameter
- RuntimeCaches::clearAll() between checkFile() calls breaks stub re-scanning, reproducing the #4117 crash on stub-dependent classes (6.16.1)
- Psalm Crashed
- Taint: `@psalm-taint-unescape` + `@psalm-flow` reports one sink twice when the value carries an unrelated taint kind
- fix: shallow-scan `extraFiles` also for language server
- Docs: mention MegaLinter as a way to run Psalm in CI
- [6.x] Fix `Cache::getHash()` reading the payload file instead of the hash
- [6.x] Memoise vendor statements instead of re-parsing them on every request
- SIGSEGV on macOS arm64 with --force-jit: opcache.jit=1205 (trigger 0) crashes the JIT; tracing and 1235 complete
- Docs
- PHP not yet supported