⚠️ This is a perfect opportunity to learn Laravel very deep and collaborate with other high-skilled developers. At this moment, the package is maintained almost solely by @alies-dev, and he is looking for developers to build a team who can constantly improve this package and the whole Psalm ecosystem.
Some ideas to implement:
@property
declarations onlybarryvdh/laravel-ide-helper
dependency and be more accurate with attribute typesThis Psalm plugin brings static analysis and type support to projects using Laravel. Our goal is to find as many type-related bugs as possible, therefore increasing developer productivity and application health. Find bugs without the overhead of writing tests!
Maintained versions:
Laravel Psalm Plugin | PHP | Laravel | Psalm |
---|---|---|---|
master | ^8.1 | 10, 11 | 5 |
2.9.x | ^8.0 | 9, 10, 11 | 4, 5 |
1.6.x | >=7.3 | 6, 8 | 4 |
1.4.x | >=7.2 | 6, 7, 8 | 3, 4 |
See releases for more details about supported PHP, Laravel and Psalm versions.
composer require --dev psalm/plugin-laravel
If you didn't use Psalm on the project before, you need to create a Psalm config:
./vendor/bin/psalm --init
./vendor/bin/psalm-plugin enable psalm/plugin-laravel
Run your usual Psalm command:
./vendor/bin/psalm
You can customize Psalm configuration using XML config and/or cli parameters.
Recommendation: use baseline file and increase
errorLevel
at least to 4
: this way you can catch more issues. Step by step set errorLevel
to 1
and use Psalm and this plugin at full power 🚀.
Under the hood it just runs https://github.com/barryvdh/laravel-ide-helper and feeds the resultant stubs into Psalm, which can read PhpStorm meta stubs.
It also parses any database migrations it can find to try to understand property types in your database models.
Both! It's fine to use both tools at the same project: they use different approaches to analyze code, and thus you can find more bugs! Psalm and PHPStan use almost same the syntax annotations, so you should not have any conflicts.