Open hysryt opened 2 years ago
古いPHPコードをアップグレードしてくれるツールらしい
Composer でインストールする。
mkdir test_project
cd test_project
composer require rector/rector --dev
./vendor/bin/rector init
rector.php
が作られる。
ContainerConfigurator
でエラーが出てるけど問題ない。
./vendor/bin/rector
適用された変更は自動的に保存される。 コンソール上で確認だけしたい場合は
./vendor/bin/rector --dry-run
設定は rector.php
で行う。
rector init
で自動的に生成された rector.php
は以下のようになっている。
<?php
declare(strict_types=1);
use Rector\Core\Configuration\Option;
use Rector\Php74\Rector\Property\TypedPropertyRector;
use Rector\Set\ValueObject\LevelSetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
// get parameters
$parameters = $containerConfigurator->parameters();
$parameters->set(Option::PATHS, [
__DIR__ . '/src'
]);
// Define what rule sets will be applied
$containerConfigurator->import(LevelSetList::UP_TO_PHP_81);
// get services (needed for register a single rule)
// $services = $containerConfigurator->services();
// register a single rule
// $services->set(TypedPropertyRector::class);
};
src
ディレクトリのファイルに対し、 LevelSetList::UP_TO_PHP_81
というルールセットを適用している。
https://getrector.org/