Awesome
<img src="./banner.png" style="width: 100%" />Rector Rules for Laravel
See available Laravel rules
Install
This package is a Rector extension developed by the Laravel community.
Rules for additional first party packages are included as well e.g. Cashier and Livewire.
Install as a dev dependency:
composer require --dev driftingly/rector-laravel
Automate Laravel Upgrades
To add a set to your config, use RectorLaravel\Set\LaravelLevelSetList
and pick the constant that matches your target version.
Sets for higher versions include sets for lower versions.
<?php declare(strict_types=1);
use Rector\Config\RectorConfig;
use RectorLaravel\Set\LaravelLevelSetList;
return RectorConfig::configure()
->withSets([
LaravelLevelSetList::UP_TO_LARAVEL_110,
]);
The sets in RectorLaravel\Set\LaravelSetList
only contain changes related to a specific version upgrade.
For example, the rules in LaravelSetList::LARAVEL_110
apply when upgrading from Laravel 10 to Laravel 11.
Additional Sets
To improve different aspects of your code, use the sets in RectorLaravel\Set\LaravelSetList
.
<?php declare(strict_types=1);
use Rector\Config\RectorConfig;
use RectorLaravel\Set\LaravelSetList;
return RectorConfig::configure()
->withSets([
LaravelSetList::LARAVEL_CODE_QUALITY,
LaravelSetList::LARAVEL_COLLECTION,
...
]);
Contributors
Thank you everyone who works so hard on improving this package:
A special thank you to Caneco for designing the logo!
Hire The Rector Team
Rector is a tool that we develop and share for free, so anyone can automate their refactoring. But not everyone has dozens of hours to understand complexity of abstract-syntax-tree in their own time. That's why we provide commercial support - to save your time.
Would you like to apply Rector on your code base but don't have time for the struggle with your project? Hire the Rector team to get there faster.
Learn Rector Faster
Not everyone has time to understand Rector and AST complexity. You can speed up the process by reading the book The Power of Automated Refactoring. Not only will it help you learn and understand Rector but it supports the project as well.