1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-27 04:45:20 +01:00
Go to file
2017-01-16 12:39:38 -05:00
bin Fix #62 - die quickly and explicitly if files cannot be located 2017-01-16 11:41:57 -05:00
examples Update docs with better introductory config 2017-01-16 01:27:06 -05:00
src/Psalm Allow variadic params to be passed by reference 2017-01-16 12:39:38 -05:00
tests Allow variadic params to be passed by reference 2017-01-16 12:39:38 -05:00
.gitignore Fixing a typo in the .gitignore filename. 2016-10-20 11:52:14 -04:00
.travis.yml Add self-check to travis build 2016-12-23 19:47:35 +00:00
composer.json Add phpcs as a dev dep cc @erunion 2016-12-23 23:50:57 +00:00
composer.lock Add phpcs as a dev dep cc @erunion 2016-12-23 23:50:57 +00:00
config.xsd Add new suppressable error for missing closure return types 2017-01-16 01:22:36 -05:00
LICENSE Add license 2016-11-21 14:48:17 -05:00
phpcs.xml Move string-stored types into named classes 2017-01-15 10:22:05 -05:00
phpunit.xml Update PHPUnit to version without count bug 2016-12-23 21:50:31 +00:00
psalm.xml Fix a few issues in tests 2017-01-13 14:14:24 -05:00
PsalmLogo.png Update border 2016-10-29 12:46:34 -04:00
README.md Update docs with better introductory config 2017-01-16 01:28:09 -05:00

logo

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:dev-master"
composer install

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.