psalm-plugin-laravel/README.md
2022-05-02 13:39:15 -04:00

46 lines
1.7 KiB
Markdown

# Psalm plugin for Laravel
[![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)
![Type coverage](https://shepherd.dev/github/psalm/laravel-psalm-plugin/coverage.svg)
![dev-master Tests](https://img.shields.io/github/workflow/status/psalm/psalm-plugin-laravel/Run%20Tests?label=dev-master%20tests)
## 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](/assets/screenshot.png)
## Versions
Laravel 6 | Laravel 7 | Laravel 8 | Laravel 9
--------- | --------- | --------- | -----------
v1.* | v1.* | v1.* | v2.*
## Quickstart
Please refer to the [full Psalm documentation](https://psalm.dev/quickstart) for a more detailed guide on introducing Psalm
into your project.
First, start by installing Psalm if you have not done so already:
```bash
composer require --dev vimeo/psalm
./vendor/bin/psalm --init
```
Next, install this package and enable the plugin
```bash
composer require --dev psalm/plugin-laravel
./vendor/bin/psalm-plugin enable psalm/plugin-laravel
```
Finally, run Psalm to analyze your codebase
```bash
./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.