Closed13
Rectorのメモ
環境
- php 8.0.12
- composer 2.1.12
参考情報
github
触ってみる
インストール
composer require rector/rector --dev
初期設定
vendor/bin/rector init
rector.phpができる
<?php
declare(strict_types=1);
use Rector\Core\Configuration\Option;
use Rector\Php74\Rector\Property\TypedPropertyRector;
use Rector\Set\ValueObject\SetList;
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(SetList::DEAD_CODE);
// get services (needed for register a single rule)
// $services = $containerConfigurator->services();
// register a single rule
// $services->set(TypedPropertyRector::class);
};
rector.phpを修正
PHPバージョンを指定(今回はPHP8)
use Rector\Core\ValueObject\PhpVersion;
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_80);
実行
vendor/bin/rector process --dry-run
適用
vendor/bin/rector process
laravel用
インストールはrectorを入れるとすでに入っている
パッケージの中にvendorディレクトリがあるってすごいなぁー
READMEに書いてある内容をrector.phpに書いてみる
use Rector\Laravel\Set\LaravelSetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(LaravelSetList::LARAVEL_60);
};
laravel6のアップグレードガイドに書いてある内容が適当されるはず
READMEに書いてあることは試したからクローズする
このスクラップは2022/05/30にクローズされました