Larastan was created by, and is maintained by Nuno Maduro, and is a phpstan/phpstan wrapper for Laravel. Larastan focuses on finding errors in your code without actually running it. It catches whole classes of bugs even before you write tests for the code.
- Supports Laravel's beautiful magic.
- This package is still in development. Please report false positives using GitHub issues.
Installation & Usage
You may use Composer to install Larastan as a development dependency into your Laravel project:
composer require --dev nunomaduro/larastan
Usage in Laravel Applications
Once you have installed Larastan, you may start analyzing your code using the
code:analyse Artisan command.
php artisan code:analyse
If you would like to provide your own configuration, you can create a
phpstan.neon.dist file in the root of your application. It might look like this:
includes: - ./vendor/nunomaduro/larastan/extension.neon parameters: level: 5 ignoreErrors: - '#Access to an undefined property App\\Demo\\[a-zA-Z0-9\\_]+::\$[a-zA-Z0-9\\_]+\.#' - '#Call to an undefined method App\\Http\\Resources\\DemoResource::DemoMethod\(\)\.#' excludes_analyse: - /*/*/FileToBeExcluded.php
For all available options, please take a look at the PHPStan documentation.
Usage in Packages for Laravel
Once you have installed Larastan, create a file
phpstan.neon.dist on the root of your package with the content:
includes: - ./vendor/nunomaduro/larastan/extension.neon parameters: level: 5 paths: - src
Start analyzing your code using the
analyse PHPStan command.
You can choose from currently 8 levels: (0 is the loosest and 7 is the strictest) by passing
analyse command. Default level is
5. You can also use
--level max as an alias for the highest level.
php artisan code:analyse --level=max
You can choose which directories you want to analyze, by default, the analyzed directory will be the
php artisan code:analyse --paths="modules,app,domain"
By default, Larastan outputs found errors into tables grouped by files to be easily human-readable. To change the output, you can use the --error-format CLI option.
The available options are:
php artisan code:analyse --error-format table
Thank you for considering to contribute to Larastan. All the contribution guidelines are mentioned here.
You can have a look at the CHANGELOG for constant updates & detailed information about the changes. You can also follow the Twitter account for latest announcements or just come say hi!: @enunomaduro.
Support the development
Do you like this project? Support it by donating
Larastan is an open-sourced software licensed under the MIT license.