Go to file
2021-09-23 19:53:33 +02:00
.github fix!: test 6.x (LTS) instead of 7.x (EOL) 2021-07-07 00:17:33 +02: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 Updates trans return type to be string or array 2021-08-18 15:03:54 +10:00
stubs fix: Eloquent\Builder::find() may return null 2021-09-23 19:53:33 +02:00
tests Added missing Builder methods - count() and whereDate() 2021-07-29 22:14:05 +03: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: drop support for Laravel 7 2021-07-13 18:51:25 +02: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.