Go to file
feek b2cdf5e24f
Merge pull request #210 from tjmmm/prefer_stable
chore: use stable dependencies
2022-01-19 13:19:47 -05:00
.github use php 8.0 for lint action 2021-12-17 15:37:11 +01: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 remove unused variable 2021-11-24 21:01:11 +01:00
stubs feat: support foreach with Support\Collection 2022-01-16 21:27:07 +09:00
tests Merge pull request #203 from Nielsvanpach/php80 2022-01-18 16:31:41 -05:00
.gitignore chore(gitignore): add laravel folder 2021-07-05 10:13:50 +02:00
codeception.yml introduce testing 2020-04-08 00:47:02 -07:00
composer.json chore: use stable dependencies 2022-01-19 09:04:26 +09: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-07-16 12:04:59 -04: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.