Rector — це інструмент для PHP, який можна використовувати в будь-якому проекті, щоб миттєво оновити або автоматизувати рефакторинг. Rector для Laravel — це розширення, розроблене спільнотою Laravel, що містить специфічні правила для ваших застосунків на Laravel.
Щоб автоматично застосовувати правильні правила в залежності від версії Laravel у вашому застосуванні, використовуйте:
<?php declare(strict_types=1);
use Rector\Config\RectorConfig;
use RectorLaravel\Set\LaravelSetProvider;
return RectorConfig::configure()
->withSetProviders(LaravelSetProvider::class)
->withComposerBased(laravel: true, /** інші параметри */);
Однак, якщо ви хочете проводити оновлення поетапно та додавати лише конкретні набори правил, ви можете вручну додати набір цільової версії (наприклад, з Laravel v11 до v12) до конфігурації Rector:
<?php declare(strict_types=1);
use Rector\Config\RectorConfig;
use RectorLaravel\Set\LaravelLevelSetList;
return RectorConfig::configure()
->withSets([
LaravelLevelSetList::UP_TO_LARAVEL_120,
]);
Також можливо покращити ваш код Laravel, використовуючи конкретні набори з LaravelSetList
:
<?php declare(strict_types=1);
use Rector\Config\RectorConfig;
use RectorLaravel\Set\LaravelSetList;
return RectorConfig::configure()
->withSets([
LaravelSetList::LARAVEL_IF_HELPERS,
LaravelSetList::LARAVEL_TYPE_DECLARATIONS,
...
]);
Наприклад, LaravelSetList::LARAVEL_IF_HELPERS
замінить abort()
, report()
та throw
у умовах на виклики функцій abort_if()
, report_if()
, throw_if()
. А LaravelSetList::LARAVEL_TYPE_DECLARATIONS
додасть типи та загальні типи повернення для підвищення безпеки типів у коді Laravel. І це лише мала частина можливостей.
Крім того, існує багато упереджених та настроювальних правил, які можна застосовувати.
Переглянути список усіх правил (включаючи ті, що ще не вийшли) можна в документації.
Дізнайтеся більше про цей пакет та перегляньте вихідний код на GitHub.