1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-26 20:34:47 +01:00
psalm/README.md

1.9 KiB

logo

Packagist Travis CI

Psalm is a static analysis tool for finding errors in PHP applications.

  • v0.3.x supports checking PHP 5.4 - 7.1 code, and requires PHP 5.5+ to run.
  • v0.2.x supports checking PHP 5.4 - 7.0 code and requires PHP 5.4+ to run.

Check out the wiki or try a live demo!

Quickstart Guide

Install via Composer:

composer require --dev vimeo/psalm

Add a psalm.xml config:

cat > psalm.xml << EOF
<?xml version="1.0"?>
<psalm
  stopOnFirstError="false"
  useDocblockTypes="true"
>
    <projectFiles>
        <directory name="src" />
    </projectFiles>
    <issueHandlers>
        <MissingReturnType errorLevel="info" />
        <MissingClosureReturnType errorLevel="info" />
        <MissingPropertyType errorLevel="info" />
    </issueHandlers>
</psalm>
EOF

Then run Psalm with:

./vendor/bin/psalm

The above config is fairly spartan, and will show you all possible errors, including many that might be irrelevant to you. A more lenient config is provided here, and you can learn about how to suppress certain issues here.

Acknowledgements

The engineering team @vimeo for encouragement and patience, especially @nbeliard, @erunion and @nickyr.

Thanks also to @nikic for creating the excellent php-parser, on top of which Psalm is built.