Go to file
2021-06-23 06:45:40 -04:00
.github test: use composer command 2021-06-14 13:54:19 -07:00
assets chore: include screenshot 2020-05-03 21:27:08 -07:00
cache chore: move cache dir out of src 2021-06-21 16:45:30 -07:00
src refactor: move path handler to handlers namespace 2021-06-23 06:45:40 -04:00
stubs refactor: pull stubs out of src dir 2021-06-21 17:38:17 -07:00
tests fix: add classes that can be returned by the container to be scanned 2021-06-15 11:45:42 -07:00
.gitignore chore: move cache dir out of src 2021-06-21 16:45:30 -07:00
codeception.yml introduce testing 2020-04-08 00:47:02 -07:00
composer.json chore: force newer version of psalm 2021-06-21 16:13:45 -07:00
LICENSE Add license 2020-02-03 16:57:15 -05:00
phpcs.xml chore: introduce phpcs 2020-04-12 11:55:32 -07:00
psalm-baseline.xml chore: update baseline 2021-06-14 11:52:41 -07:00
psalm.xml refactor: move fakes to their own namespace 2021-06-21 17:50:16 -07:00
README.md Update README.md 2020-08-25 14:30:00 +09:00

Psalm plugin for Laravel

Packagist Packagist Type coverage dev-master Tests

Overview

This package 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!

Screenshot

Quickstart

Please refer to the full Psalm documentation for a more detailed guide on introducing Psalm into your project.

First, start by installing Psalm if you have not done so already:

composer require --dev vimeo/psalm
./vendor/bin/psalm --init

Next, install this package and enable the plugin

composer require --dev psalm/plugin-laravel
./vendor/bin/psalm-plugin enable psalm/plugin-laravel

Finally, run Psalm to analyze your codebase

./vendor/bin/psalm

How it works

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.