assets/config_levels | ||
bin | ||
docs | ||
examples | ||
src | ||
tests | ||
.editorconfig | ||
.gitignore | ||
.php_cs.dist | ||
.scrutinizer.yml | ||
.travis.yml | ||
box.json.dist | ||
CODE_OF_CONDUCT.md | ||
composer.json | ||
config.xsd | ||
CONTRIBUTING.md | ||
LICENSE | ||
NEWS.md | ||
phpcs.xml | ||
phpunit.xml.dist | ||
psalm | ||
psalm.xml.dist | ||
PsalmLogo.png | ||
psalter | ||
README.md | ||
scoper.inc.php |
Psalm is a static analysis tool for finding errors in PHP applications, built on top of PHP Parser.
It's able to find a large number issues, but it can also be configured to only care about a small subset of those.
Try a live demo, or install it in your project by following the Quickstart Guide below.
Psalm documentation
All the documentation for Psalm is found in the docs folder - the index is located here,
Quickstart Guide
Install via Composer:
composer require --dev vimeo/psalm
Add a config:
./vendor/bin/psalm --init
Then run Psalm:
./vendor/bin/psalm
The config created above will show you all issues in your code, but will emit INFO
issues (as opposed to ERROR
) for certain common trivial code problems. If you want a more lenient config you can specify the level with
./vendor/bin/psalm --init [source_dir] [level]
You can also learn how to suppress certain issues.
How Psalm Works
A basic rundown of Psalm’s internals can be found in docs/how_psalm_works.md.
Acknowledgements
The engineering team @vimeo for encouragement and patience, especially @nbeliard, @erunion and @nickyr.