2020-01-08 06:41:32 +01:00
# Psalm plugin for Laravel
2019-02-19 01:02:49 +01:00
2020-04-18 22:44:42 +02:00
[![Packagist ](https://img.shields.io/packagist/v/psalm/plugin-laravel.svg )](https://packagist.org/packages/psalm/plugin-laravel)
[![Packagist ](https://img.shields.io/packagist/dt/psalm/plugin-laravel.svg )](https://packagist.org/packages/psalm/plugin-laravel)
2020-01-08 06:17:32 +01:00
![Type coverage ](https://shepherd.dev/github/psalm/laravel-psalm-plugin/coverage.svg )
2020-04-18 22:44:42 +02:00
![dev-master Tests ](https://img.shields.io/github/workflow/status/psalm/psalm-plugin-laravel/Run%20Tests?label=dev-master%20tests )
2020-01-08 06:17:32 +01:00
2020-04-18 22:44:42 +02:00
## 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!
2020-04-29 21:10:51 +02:00
![Screenshot ](/assets/screenshot.png )
2019-02-19 01:02:49 +01:00
2020-04-18 22:44:42 +02:00
## Quickstart
Please refer to the [full Psalm documentation ](https://psalm.dev/quickstart ) for a more detailed guide on introducing Psalm
into your project.
2019-03-11 05:53:27 +01:00
2020-04-18 22:44:42 +02:00
First, start by installing Psalm if you have not done so already:
```bash
composer require --dev vimeo/psalm
./vendor/bin/psalm --init
2019-02-19 01:02:49 +01:00
```
2020-04-18 22:44:42 +02:00
Next, install this package and enable the plugin
```bash
2019-02-19 01:02:49 +01:00
composer require --dev psalm/plugin-laravel
2020-04-18 22:44:42 +02:00
./vendor/bin/psalm-plugin enable psalm/plugin-laravel
```
Finally, run Psalm to analyze your codebase
```bash
./vendor/bin/psalm
2019-02-19 01:02:49 +01:00
```
## How it works
2020-03-10 13:48:51 +01:00
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.
2019-02-19 01:02:49 +01:00