[DX] Use RectorConfig in configs (#2063)

* use RectorConfig in configs

* update variable name

* remove extra spaces

* apply on configs

* apply on e2e

* update markdown files

* remove extra spaces
This commit is contained in:
Tomas Votruba 2022-04-12 13:46:07 +02:00 committed by GitHub
parent ccbeeebb51
commit 8d92c466fd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
757 changed files with 2570 additions and 2710 deletions

View File

@ -1,12 +1,11 @@
<?php
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(__DIR__ . '/config-downgrade.php');
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(__DIR__ . '/config-downgrade.php');
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PARALLEL, true);
};

View File

@ -2,10 +2,10 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\Stubs\PHPStanStubLoader;
use Rector\Set\ValueObject\DowngradeLevelSetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
$phpStanStubLoader = new PHPStanStubLoader();
$phpStanStubLoader->loadStubs();
@ -15,14 +15,14 @@ require_once __DIR__ . '/../../stubs/Composer/EventDispatcher/EventSubscriberIn
require_once __DIR__ . '/../../stubs/Composer/Plugin/PluginInterface.php';
require_once __DIR__ . '/../../stubs/Nette/DI/CompilerExtension.php';
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PARALLEL, false);
$parameters->set(Option::SKIP, DowngradeRectorConfig::DEPENDENCY_EXCLUDE_PATHS);
$parameters->set(Option::PHPSTAN_FOR_RECTOR_PATH, __DIR__ . '/phpstan-for-downgrade.neon');
$containerConfigurator->import(DowngradeLevelSetList::DOWN_TO_PHP_72);
$rectorConfig->import(DowngradeLevelSetList::DOWN_TO_PHP_72);
};
/**

View File

@ -76,19 +76,19 @@ vendor/bin/rector init
And modify it:
```php
// rector.php
use Rector\Php74\Rector\Property\TypedPropertyRector;
use Rector\Set\ValueObject\SetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Rector\Config\RectorConfig;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (RectorConfig $rectorConfig): void {
// here we can define, what sets of rules will be applied
// tip: use "SetList" class to autocomplete sets
$containerConfigurator->import(SetList::CODE_QUALITY);
$rectorConfig->sets([
SetList::CODE_QUALITY
]);
// register single rule
$services = $containerConfigurator->services();
$services->set(TypedPropertyRector::class);
$rectorConfig->rule(TypedPropertyRector::class);
};
```
@ -116,19 +116,18 @@ vendor/bin/rector process src
// rector.php
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
use Rector\Config\RectorConfig;
return static function (RectorConfig $rectorConfig): void {
// paths to refactor; solid alternative to CLI arguments
$parameters->set(Option::PATHS, [__DIR__ . '/src', __DIR__ . '/tests']);
$rectorConfig->paths([__DIR__ . '/src', __DIR__ . '/tests']);
// is your PHP version different from the one you refactor to? [default: your PHP version], uses PHP_VERSION_ID format
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_72);
// Path to PHPStan with extensions, that PHPStan in Rector uses to determine types
$parameters->set(Option::PHPSTAN_FOR_RECTOR_PATH, getcwd() . '/phpstan-for-config.neon');
$rectorConfig->phpstanConfig(__DIR__ . '/phpstan-for-config.neon');
};
```

View File

@ -17,60 +17,48 @@ Let´s say you want to define a custom configuration where you want to update th
All you have to do is using the ChangePackageVersionComposerRector:
```php
// rector.php
use Rector\Composer\Rector\ChangePackageVersionComposerRector;
use Rector\Composer\ValueObject\PackageAndVersion;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Rector\Config\RectorConfig;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(ChangePackageVersionComposerRector::class)
->configure([
new PackageAndVersion('symfony/yaml', '^5.0'),
]);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->ruleWithConfiguration(ChangePackageVersionComposerRector::class, [
new PackageAndVersion('symfony/yaml', '^5.0'),
]);
};
```
There are some more rules related to manipulate your composer.json files. Let´s see them in action:
```php
// rector.php
use Rector\Composer\Rector\AddPackageToRequireComposerRector;
use Rector\Composer\Rector\AddPackageToRequireDevComposerRector;
use Rector\Composer\Rector\RemovePackageComposerRector;
use Rector\Composer\Rector\ReplacePackageAndVersionComposerRector;
use Rector\Composer\ValueObject\PackageAndVersion;
use Rector\Composer\ValueObject\ReplacePackageAndVersion;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
use Rector\Config\RectorConfig;
return static function (RectorConfig $rectorConfig): void {
// Add a package to the require section of your composer.json
$services->set(AddPackageToRequireComposerRector::class)
->configure([
new PackageAndVersion('symfony/yaml', '^5.0'),
]);
$rectorConfig->ruleWithConfiguration(AddPackageToRequireComposerRector::class, [
new PackageAndVersion('symfony/yaml', '^5.0'),
]);
// Add a package to the require dev section of your composer.json
$services->set(AddPackageToRequireDevComposerRector::class)
->configure([
new PackageAndVersion('phpunit/phpunit', '^9.0'),
]);
$rectorConfig->ruleWithConfiguration(AddPackageToRequireDevComposerRector::class, [
new PackageAndVersion('phpunit/phpunit', '^9.0'),
]);
// Remove a package from composer.json
$services->set(RemovePackageComposerRector::class)
->configure([
'symfony/console'
]);
$rectorConfig->ruleWithConfiguration(RemovePackageComposerRector::class, [
'symfony/console'
]);
// Replace a package in the composer.json
$services->set(ReplacePackageAndVersionComposerRector::class)
->configure([
new ReplacePackageAndVersion('vendor1/package2', 'vendor2/package1', '^3.0'),
]);
// Replace a package in the composer.json
$rectorConfig->ruleWithConfiguration(ReplacePackageAndVersionComposerRector::class, [
new ReplacePackageAndVersion('vendor1/package2', 'vendor2/package1', '^3.0'),
]);
};
```

View File

@ -146,17 +146,11 @@ composer dump-autoload
## 2. Register It
```php
<?php
// rector.php
declare(strict_types=1);
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Utils\Rector\Rector\MyFirstRector;
use Rector\Config\RectorConfig;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(MyFirstRector::class);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->rule(MyFirstRector::class);
};
```

View File

@ -66,23 +66,18 @@ E.g. in this case, first the `@expectedException` annotation will be changed to
then the `setExpectedException` method will be changed to `expectedException`.
```php
<?php
// rector.php
use Rector\PHPUnit\Rector\ClassMethod\ExceptionAnnotationRector;
use Rector\Renaming\Rector\MethodCall\RenameMethodRector;
use Rector\Config\RectorConfig
use Rector\Renaming\ValueObject\MethodCallRename;
declare(strict_types=1);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->rule(ExceptionAnnotationRector::class);
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(Rector\PHPUnit\Rector\ClassMethod\ExceptionAnnotationRector::class);
$services->set(Rector\Renaming\Rector\MethodCall\RenameMethodRector::class)
->arg('$oldToNewMethodsByClass', [
PHPUnit\Framework\TestClass::class => [
'setExpectedException' => 'expectedException',
'setExpectedExceptionRegExp' => 'expectedException',
],
]);
$rectorConfig->ruleWithConfiguration(Rector\Renaming\Rector\MethodCall\RenameMethodRector::class, [
new MethodCallRename('PHPUnit\Framework\TestClass', 'setExpectedException', 'expectedException'),
new MethodCallRename('PHPUnit\Framework\TestClass', 'setExpectedExceptionRegExp', 'expectedException'),
]);
};
```

View File

@ -5,20 +5,12 @@ Rector rules that implement `Rector\Core\Contract\Rector\ConfigurableRectorInter
Typical example is `Rector\Renaming\Rector\Name\RenameClassRector`:
```php
<?php
// rector.php
declare(strict_types=1);
use Rector\Renaming\Rector\Name\RenameClassRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Rector\Config\RectorConfig;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RenameClassRector::class)
->configure([
'App\SomeOldClass' => 'App\SomeNewClass',
]);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->ruleWithConfiguration(RenameClassRector::class, [
'App\SomeOldClass' => 'App\SomeNewClass',
]);
};
```

View File

@ -62,14 +62,12 @@ final class BoldStatementFileProcessor implements FileProcessorInterface
Now register your FileProcessor in your configuration (actually in the container):
```php
<?php
// rector.php
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use MyVendor\MyPackage\FileProcessor\BoldStatementFileProcessor;
use Rector\Config\RectorConfig
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (RectorConfig $rectorConfig): void {
// [...]
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->set(BoldStatementFileProcessor::class);
};
```
@ -107,8 +105,8 @@ use Rector\Core\ValueObject\Application\File;
final class BoldStatementMakeAmericaGreatAgainRector implements BoldStatementRectorInterface
{
/**
* @var string
*/
* @var string
*/
private const OLD_STATEMENT = 'Make america great again';
public function transform(string $content): string
@ -185,18 +183,16 @@ Notice the annotation BoldStatementRectorInterface[]. This is important to injec
Yes, we said active. So last but not least we must register our new rule in the container, so it is applied:
```php
<?php
// rector.php
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use MyVendor\MyPackage\FileProcessor\BoldStatementFileProcessor;
use MyVendor\MyPackage\FileProcessor\Rector\BoldStatementMakeAmericaGreatAgainRector;
use Rector\Config\RectorConfig;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (RectorConfig $rectorConfig): void {
// [...]
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->set(BoldStatementFileProcessor::class);
$services->set(BoldStatementMakeAmericaGreatAgainRector::class);
$rectorConfig->rule(BoldStatementMakeAmericaGreatAgainRector::class);
};
```

View File

@ -3,21 +3,12 @@
## Preferred Way: Config
```php
<?php
// rector.php
declare(strict_types=1);
use Rector\CodeQuality\Rector\If_\SimplifyIfReturnBoolRector;
use Rector\Core\Configuration\Option;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
use Rector\Config\RectorConfig;
return static function (RectorConfig $rectorConfig): void {
// is there a file you need to skip?
$parameters->set(Option::SKIP, [
$rectorConfig->skip([
// single file
__DIR__ . '/src/ComplicatedFile.php',
// or directory

View File

@ -20,37 +20,27 @@ Now, you can register your custom `SetList`'s constant via import from `$contain
```php
<?php
// rector.php
declare(strict_types=1);
use Rector\Core\Configuration\Option;
use App\Set\ValueObject\SetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Rector\Config\RectorConfig;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(SetList::MY_FRAMEWORK_20);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->sets([SetList::MY_FRAMEWORK_20]);
$parameters = $containerConfigurator->parameters();
$parameters->set(Option::PATHS, [__DIR__ . '/src']);
$rectorConfig->paths([__DIR__ . '/src']);
};
```
Note that if you are looking for the downgrade categories, there is already the `DowngradeSetList`:
```php
<?php
// rector.php
declare(strict_types=1);
use Rector\Core\Configuration\Option;
use Rector\Set\ValueObject\DowngradeSetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Rector\Config\RectorConfig;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(DowngradeSetList::PHP_70)
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->sets([DowngradeSetList::PHP_70])
$parameters = $containerConfigurator->parameters();
$parameters->set(Option::PATHS, [__DIR__ . '/src']);
$rectorConfig->paths([__DIR__ . '/src']);
};
```

View File

@ -1,41 +0,0 @@
# How to Use Prefixed Service In Custom Rule
Since `rector/rector` version 0.11, it is not possible to use service that previously not prefixed in previous version, for example, you have the following custom rector rule with `Symplify\PackageBuilder\Strings\StringFormatConverter` dependency:
```php
use Symplify\PackageBuilder\Strings\StringFormatConverter;
final class UnderscoreToCamelCaseVariableNameRector extends AbstractRector
{
public function __construct(StringFormatConverter $stringFormatter)
{
// ...
}
}
```
For above example, the `Symplify\PackageBuilder\Strings\StringFormatConverter` is no longer exists, you can consume via require --dev it:
```bash
composer require --dev symplify/package-builder
```
After that, you need to register the `symplify/package-builder`'s src to service in `rector.php`:
```php
<?php
// rector.php
use Symplify\PackageBuilder\Strings\StringFormatConverter;
return static function (ContainerConfigurator $containerConfigurator): void {
// ...
$services = $containerConfigurator->services();
$services->set(StringFormatConverter::class);
// ...
};
```
Now, the `Symplify\PackageBuilder\Strings\StringFormatConverter` service will be detected again.

View File

@ -9,19 +9,16 @@ vendor/bin/rector init
This will create a `rector.php` if it doesn't already exist in your root directory with some sensitive defaults to start with.
```php
// rector.php
use Rector\Core\Configuration\Option;
use Rector\Php74\Rector\Property\TypedPropertyRector;
use Rector\Set\ValueObject\SetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Rector\Config\RectorConfig;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (RectorConfig $rectorConfig): void {
// here we can define, what sets of rules will be applied
$containerConfigurator->import(SetList::CODE_QUALITY);
$rectorConfig->sets([SetList::CODE_QUALITY]);
// register single rule
$services = $containerConfigurator->services();
$services->set(TypedPropertyRector::class);
$rectorConfig->rule(TypedPropertyRector::class);
};
```
@ -36,20 +33,20 @@ The rector.php file for TYPO3 contains useful framework specific defaults to sta
```php
use Ssch\TYPO3Rector\Set\Typo3SetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Rector\PostRector\Rector\NameImportingPostRector;
use Rector\Core\Configuration\Option;
use Rector\Config\RectorConfig;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(Typo3SetList::TYPO3_76);
$containerConfigurator->import(Typo3SetList::TYPO3_87);
$containerConfigurator->import(Typo3SetList::TYPO3_95);
$containerConfigurator->import(Typo3SetList::TYPO3_104);
$containerConfigurator->import(Typo3SetList::TYPO3_11);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->sets([
Typo3SetList::TYPO3_76,
Typo3SetList::TYPO3_87,
Typo3SetList::TYPO3_95,
Typo3SetList::TYPO3_104,
Typo3SetList::TYPO3_11,
]);
// get parameters
$parameters = $containerConfigurator->parameters();
$parameters->set(Option::SKIP, [
$rectorConfig->skip([
NameImportingPostRector::class => [
'ClassAliasMap.php',
'ext_localconf.php',

View File

@ -110,7 +110,7 @@ use Rector\Arguments\Rector\ClassMethod\ArgumentAdderRector;
use Rector\Arguments\ValueObject\ArgumentAdder;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(ArgumentAdderRector::class)
@ -151,7 +151,7 @@ use Rector\Arguments\Rector\FuncCall\FunctionArgumentDefaultValueReplacerRector;
use Rector\Arguments\ValueObject\ReplaceFuncCallArgumentDefaultValue;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(FunctionArgumentDefaultValueReplacerRector::class)
@ -181,7 +181,7 @@ use Rector\Arguments\Rector\MethodCall\RemoveMethodCallParamRector;
use Rector\Arguments\ValueObject\RemoveMethodCallParam;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RemoveMethodCallParamRector::class)
@ -217,7 +217,7 @@ use Rector\Arguments\Rector\ClassMethod\ReplaceArgumentDefaultValueRector;
use Rector\Arguments\ValueObject\ReplaceArgumentDefaultValue;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(ReplaceArgumentDefaultValueRector::class)
@ -248,7 +248,7 @@ use Rector\Arguments\Rector\FuncCall\SwapFuncCallArgumentsRector;
use Rector\Arguments\ValueObject\SwapFuncCallArguments;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(SwapFuncCallArgumentsRector::class)
@ -1838,7 +1838,7 @@ Replace PREG delimiter with configured one
use Rector\CodingStyle\Rector\FuncCall\ConsistentPregDelimiterRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(ConsistentPregDelimiterRector::class)
@ -2016,7 +2016,7 @@ Order attributes by desired names
use Rector\CodingStyle\Rector\ClassMethod\OrderAttributesRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(OrderAttributesRector::class)
@ -2087,7 +2087,7 @@ use Rector\CodingStyle\Enum\PreferenceSelfThis;
use Rector\CodingStyle\Rector\MethodCall\PreferThisOrSelfMethodCallRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(PreferThisOrSelfMethodCallRector::class)
@ -2163,7 +2163,7 @@ use Rector\CodingStyle\Rector\ClassMethod\ReturnArrayClassMethodToYieldRector;
use Rector\CodingStyle\ValueObject\ReturnArrayClassMethodToYield;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(ReturnArrayClassMethodToYieldRector::class)
@ -2464,7 +2464,7 @@ use Rector\Composer\Rector\AddPackageToRequireComposerRector;
use Rector\Composer\ValueObject\PackageAndVersion;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(AddPackageToRequireComposerRector::class)
@ -2497,7 +2497,7 @@ use Rector\Composer\Rector\AddPackageToRequireDevComposerRector;
use Rector\Composer\ValueObject\PackageAndVersion;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(AddPackageToRequireDevComposerRector::class)
@ -2530,7 +2530,7 @@ use Rector\Composer\Rector\ChangePackageVersionComposerRector;
use Rector\Composer\ValueObject\PackageAndVersion;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(ChangePackageVersionComposerRector::class)
@ -2563,7 +2563,7 @@ Remove package from "require" and "require-dev" in `composer.json`
use Rector\Composer\Rector\RemovePackageComposerRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RemovePackageComposerRector::class)
@ -2596,7 +2596,7 @@ use Rector\Composer\Rector\RenamePackageComposerRector;
use Rector\Composer\ValueObject\RenamePackage;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RenamePackageComposerRector::class)
@ -2630,7 +2630,7 @@ use Rector\Composer\Rector\ReplacePackageAndVersionComposerRector;
use Rector\Composer\ValueObject\ReplacePackageAndVersion;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(ReplacePackageAndVersionComposerRector::class)
@ -2725,7 +2725,7 @@ Remove annotation by names
use Rector\DeadCode\Rector\ClassLike\RemoveAnnotationRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RemoveAnnotationRector::class)
@ -3254,7 +3254,7 @@ Remove unneeded PHP_VERSION_ID check
use Rector\DeadCode\Rector\ConstFetch\RemovePhpVersionIdCheckRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RemovePhpVersionIdCheckRector::class)
@ -3457,7 +3457,7 @@ Remove unused private properties
use Rector\DeadCode\Rector\Property\RemoveUnusedPrivatePropertyRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RemoveUnusedPrivatePropertyRector::class)
@ -3723,7 +3723,7 @@ Add method parent call, in case new parent method is added
use Rector\DependencyInjection\Rector\ClassMethod\AddMethodParentCallRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(AddMethodParentCallRector::class)
@ -4684,7 +4684,7 @@ Change param type to match the lowest type in whole family tree
use Rector\DowngradePhp72\Rector\ClassMethod\DowngradeParameterTypeWideningRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(DowngradeParameterTypeWideningRector::class)
@ -5272,7 +5272,7 @@ use Rector\DowngradePhp80\Rector\Class_\DowngradeAttributeToAnnotationRector;
use Rector\DowngradePhp80\ValueObject\DowngradeAttributeToAnnotation;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(DowngradeAttributeToAnnotationRector::class)
@ -6787,7 +6787,7 @@ Replace string class names by <class>::class constant
use Rector\Php55\Rector\String_\StringClassNameToClassConstantRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(StringClassNameToClassConstantRector::class)
@ -7323,7 +7323,7 @@ Changes reserved "Object" name to "<Smart>Object" where <Smart> can be configure
use Rector\Php71\Rector\Name\ReservedObjectRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(ReservedObjectRector::class)
@ -7685,7 +7685,7 @@ Add "_" as thousands separator in numbers for higher or equals to limitValue con
use Rector\Php74\Rector\LNumber\AddLiteralSeparatorToNumberRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(AddLiteralSeparatorToNumberRector::class)
@ -7952,7 +7952,7 @@ Changes property type by `@var` annotations or default value.
use Rector\Php74\Rector\Property\TypedPropertyRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(TypedPropertyRector::class)
@ -8019,7 +8019,7 @@ use Rector\Php80\Rector\Class_\AnnotationToAttributeRector;
use Rector\Php80\ValueObject\AnnotationToAttribute;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(AnnotationToAttributeRector::class)
@ -8125,7 +8125,7 @@ Refactor Doctrine `@annotation` annotated class to a PHP 8.0 attribute class
use Rector\Php80\Rector\Class_\DoctrineAnnotationClassToAttributeRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(DoctrineAnnotationClassToAttributeRector::class)
@ -8958,7 +8958,7 @@ use Rector\Privatization\Rector\MethodCall\ReplaceStringWithClassConstantRector;
use Rector\Privatization\ValueObject\ReplaceStringWithClassConstant;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(ReplaceStringWithClassConstantRector::class)
@ -8996,7 +8996,7 @@ use Rector\Removing\Rector\ClassMethod\ArgumentRemoverRector;
use Rector\Removing\ValueObject\ArgumentRemover;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(ArgumentRemoverRector::class)
@ -9027,7 +9027,7 @@ use Rector\Removing\Rector\FuncCall\RemoveFuncCallArgRector;
use Rector\Removing\ValueObject\RemoveFuncCallArg;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RemoveFuncCallArgRector::class)
@ -9057,7 +9057,7 @@ use Rector\Removing\Rector\FuncCall\RemoveFuncCallRector;
use Rector\Removing\ValueObject\RemoveFuncCall;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RemoveFuncCallRector::class)
@ -9086,7 +9086,7 @@ Removes interfaces usage from class.
use Rector\Removing\Rector\Class_\RemoveInterfacesRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RemoveInterfacesRector::class)
@ -9117,7 +9117,7 @@ Remove namespace by configured namespace names
use Rector\Removing\Rector\Namespace_\RemoveNamespaceRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RemoveNamespaceRector::class)
@ -9148,7 +9148,7 @@ Removes extends class by name
use Rector\Removing\Rector\Class_\RemoveParentRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RemoveParentRector::class)
@ -9179,7 +9179,7 @@ Remove specific traits from code
use Rector\Removing\Rector\Class_\RemoveTraitUseRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RemoveTraitUseRector::class)
@ -9239,7 +9239,7 @@ use Rector\Renaming\Rector\FileWithoutNamespace\PseudoNamespaceToNamespaceRector
use Rector\Renaming\ValueObject\PseudoNamespaceToNamespace;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(PseudoNamespaceToNamespaceRector::class)
@ -9272,7 +9272,7 @@ use Rector\Renaming\Rector\ClassMethod\RenameAnnotationRector;
use Rector\Renaming\ValueObject\RenameAnnotationByType;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RenameAnnotationRector::class)
@ -9313,7 +9313,7 @@ use Rector\Renaming\ValueObject\RenameClassAndConstFetch;
use Rector\Renaming\ValueObject\RenameClassConstFetch;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RenameClassConstFetchRector::class)
@ -9351,7 +9351,7 @@ Replaces defined classes by new ones.
use Rector\Renaming\Rector\Name\RenameClassRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RenameClassRector::class)
@ -9394,7 +9394,7 @@ Replace constant by new ones
use Rector\Renaming\Rector\ConstFetch\RenameConstantRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RenameConstantRector::class)
@ -9432,7 +9432,7 @@ Turns defined function call new one.
use Rector\Renaming\Rector\FuncCall\RenameFunctionRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RenameFunctionRector::class)
@ -9464,7 +9464,7 @@ use Rector\Renaming\Rector\MethodCall\RenameMethodRector;
use Rector\Renaming\ValueObject\MethodCallRename;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RenameMethodRector::class)
@ -9494,7 +9494,7 @@ Replaces old namespace by new one.
use Rector\Renaming\Rector\Namespace_\RenameNamespaceRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RenameNamespaceRector::class)
@ -9526,7 +9526,7 @@ use Rector\Renaming\Rector\PropertyFetch\RenamePropertyRector;
use Rector\Renaming\ValueObject\RenameProperty;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RenamePropertyRector::class)
@ -9556,7 +9556,7 @@ use Rector\Renaming\Rector\StaticCall\RenameStaticMethodRector;
use Rector\Renaming\ValueObject\RenameStaticMethod;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RenameStaticMethodRector::class)
@ -9585,7 +9585,7 @@ Change string value
use Rector\Renaming\Rector\String_\RenameStringRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RenameStringRector::class)
@ -9625,7 +9625,7 @@ use Rector\Restoration\Rector\Namespace_\CompleteImportForPartialAnnotationRecto
use Rector\Restoration\ValueObject\CompleteImportForPartialAnnotation;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(CompleteImportForPartialAnnotationRector::class)
@ -9741,7 +9741,7 @@ Fixer for PHPStan reports by strict type rule - "PHPStan\Rules\BooleansInConditi
use Rector\Strict\Rector\BooleanNot\BooleanInBooleanNotRuleFixerRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(BooleanInBooleanNotRuleFixerRector::class)
@ -9782,7 +9782,7 @@ Fixer for PHPStan reports by strict type rule - "PHPStan\Rules\BooleansInConditi
use Rector\Strict\Rector\If_\BooleanInIfConditionRuleFixerRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(BooleanInIfConditionRuleFixerRector::class)
@ -9823,7 +9823,7 @@ Fixer for PHPStan reports by strict type rule - "PHPStan\Rules\BooleansInConditi
use Rector\Strict\Rector\Ternary\BooleanInTernaryOperatorRuleFixerRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(BooleanInTernaryOperatorRuleFixerRector::class)
@ -9860,7 +9860,7 @@ Fixer for PHPStan reports by strict type rule - "PHPStan\Rules\DisallowedConstru
use Rector\Strict\Rector\Empty_\DisallowedEmptyRuleFixerRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(DisallowedEmptyRuleFixerRector::class)
@ -9897,7 +9897,7 @@ Fixer for PHPStan reports by strict type rule - "PHPStan\Rules\DisallowedConstru
use Rector\Strict\Rector\Ternary\DisallowedShortTernaryRuleFixerRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(DisallowedShortTernaryRuleFixerRector::class)
@ -9936,7 +9936,7 @@ Add the `AllowDynamicProperties` attribute to all classes
use Rector\Transform\Rector\Class_\AddAllowDynamicPropertiesAttributeRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(AddAllowDynamicPropertiesAttributeRector::class)
@ -9969,7 +9969,7 @@ Add interface by used trait
use Rector\Transform\Rector\Class_\AddInterfaceByTraitRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(AddInterfaceByTraitRector::class)
@ -10004,7 +10004,7 @@ use Rector\Transform\Rector\FuncCall\ArgumentFuncCallToMethodCallRector;
use Rector\Transform\ValueObject\ArgumentFuncCallToMethodCall;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(ArgumentFuncCallToMethodCallRector::class)
@ -10052,7 +10052,7 @@ use Rector\Transform\Rector\Attribute\AttributeKeyToClassConstFetchRector;
use Rector\Transform\ValueObject\AttributeKeyToClassConstFetch;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(AttributeKeyToClassConstFetchRector::class)
@ -10093,7 +10093,7 @@ use Rector\Transform\Rector\MethodCall\CallableInMethodCallToVariableRector;
use Rector\Transform\ValueObject\CallableInMethodCallToVariable;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(CallableInMethodCallToVariableRector::class)
@ -10162,7 +10162,7 @@ use Rector\Transform\Rector\Assign\DimFetchAssignToMethodCallRector;
use Rector\Transform\ValueObject\DimFetchAssignToMethodCall;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(DimFetchAssignToMethodCallRector::class)
@ -10208,7 +10208,7 @@ use Rector\Transform\Rector\FunctionLike\FileGetContentsAndJsonDecodeToStaticCal
use Rector\Transform\ValueObject\StaticCallRecipe;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(FileGetContentsAndJsonDecodeToStaticCallRector::class)
@ -10244,7 +10244,7 @@ Changes use of function calls to use constants
use Rector\Transform\Rector\FuncCall\FuncCallToConstFetchRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(FuncCallToConstFetchRector::class)
@ -10282,7 +10282,7 @@ use Rector\Transform\Rector\FuncCall\FuncCallToMethodCallRector;
use Rector\Transform\ValueObject\FuncCallToMethodCall;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(FuncCallToMethodCallRector::class)
@ -10327,7 +10327,7 @@ Change configured function calls to new Instance
use Rector\Transform\Rector\FuncCall\FuncCallToNewRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(FuncCallToNewRector::class)
@ -10365,7 +10365,7 @@ use Rector\Transform\Rector\FuncCall\FuncCallToStaticCallRector;
use Rector\Transform\ValueObject\FuncCallToStaticCall;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(FuncCallToStaticCallRector::class)
@ -10395,7 +10395,7 @@ use Rector\Transform\Rector\Assign\GetAndSetToMethodCallRector;
use Rector\Transform\ValueObject\GetAndSetToMethodCall;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(GetAndSetToMethodCallRector::class)
@ -10425,7 +10425,7 @@ Merges old interface to a new one, that already has its methods
use Rector\Transform\Rector\Class_\MergeInterfacesRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(MergeInterfacesRector::class)
@ -10459,7 +10459,7 @@ use Rector\Transform\Rector\MethodCall\MethodCallToAnotherMethodCallWithArgument
use Rector\Transform\ValueObject\MethodCallToAnotherMethodCallWithArguments;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(MethodCallToAnotherMethodCallWithArgumentsRector::class)
@ -10494,7 +10494,7 @@ use Rector\Transform\Rector\MethodCall\MethodCallToMethodCallRector;
use Rector\Transform\ValueObject\MethodCallToMethodCall;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(MethodCallToMethodCallRector::class)
@ -10535,7 +10535,7 @@ Turns method call `"$this->something()"` to property fetch "$this->something"
use Rector\Transform\Rector\MethodCall\MethodCallToPropertyFetchRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(MethodCallToPropertyFetchRector::class)
@ -10573,7 +10573,7 @@ use Rector\Transform\Rector\MethodCall\MethodCallToStaticCallRector;
use Rector\Transform\ValueObject\MethodCallToStaticCall;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(MethodCallToStaticCallRector::class)
@ -10616,7 +10616,7 @@ use Rector\Transform\Rector\New_\NewArgToMethodCallRector;
use Rector\Transform\ValueObject\NewArgToMethodCall;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(NewArgToMethodCallRector::class)
@ -10652,7 +10652,7 @@ Change defined new type to constructor injection
use Rector\Transform\Rector\New_\NewToConstructorInjectionRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(NewToConstructorInjectionRector::class)
@ -10699,7 +10699,7 @@ use Rector\Transform\Rector\New_\NewToMethodCallRector;
use Rector\Transform\ValueObject\NewToMethodCall;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(NewToMethodCallRector::class)
@ -10739,7 +10739,7 @@ use Rector\Transform\Rector\New_\NewToStaticCallRector;
use Rector\Transform\ValueObject\NewToStaticCall;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(NewToStaticCallRector::class)
@ -10775,7 +10775,7 @@ use Rector\Transform\Rector\Class_\ParentClassToTraitsRector;
use Rector\Transform\ValueObject\ParentClassToTraits;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(ParentClassToTraitsRector::class)
@ -10808,7 +10808,7 @@ use Rector\Transform\Rector\Assign\PropertyAssignToMethodCallRector;
use Rector\Transform\ValueObject\PropertyAssignToMethodCall;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(PropertyAssignToMethodCallRector::class)
@ -10839,7 +10839,7 @@ use Rector\Transform\Rector\Assign\PropertyFetchToMethodCallRector;
use Rector\Transform\ValueObject\PropertyFetchToMethodCall;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(PropertyFetchToMethodCallRector::class)
@ -10888,7 +10888,7 @@ Remove the `AllowDynamicProperties` attribute from all classes
use Rector\Transform\Rector\Class_\RemoveAllowDynamicPropertiesAttributeRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(RemoveAllowDynamicPropertiesAttributeRector::class)
@ -10922,7 +10922,7 @@ use Rector\Transform\Rector\MethodCall\ReplaceParentCallByPropertyCallRector;
use Rector\Transform\ValueObject\ReplaceParentCallByPropertyCall;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(ReplaceParentCallByPropertyCallRector::class)
@ -10957,7 +10957,7 @@ Add #[\ReturnTypeWillChange] attribute to configured instanceof class with metho
use Rector\Transform\Rector\ClassMethod\ReturnTypeWillChangeRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(ReturnTypeWillChangeRector::class)
@ -10994,7 +10994,7 @@ use Rector\Transform\Rector\MethodCall\ServiceGetterToConstructorInjectionRector
use Rector\Transform\ValueObject\ServiceGetterToConstructorInjection;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(ServiceGetterToConstructorInjectionRector::class)
@ -11063,7 +11063,7 @@ use Rector\Transform\Rector\StaticCall\StaticCallToFuncCallRector;
use Rector\Transform\ValueObject\StaticCallToFuncCall;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(StaticCallToFuncCallRector::class)
@ -11093,7 +11093,7 @@ use Rector\Transform\Rector\StaticCall\StaticCallToMethodCallRector;
use Rector\Transform\ValueObject\StaticCallToMethodCall;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(StaticCallToMethodCallRector::class)
@ -11149,7 +11149,7 @@ use Rector\Transform\Rector\StaticCall\StaticCallToNewRector;
use Rector\Transform\ValueObject\StaticCallToNew;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(StaticCallToNewRector::class)
@ -11185,7 +11185,7 @@ use Rector\Transform\Rector\String_\StringToClassConstantRector;
use Rector\Transform\ValueObject\StringToClassConstant;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(StringToClassConstantRector::class)
@ -11220,7 +11220,7 @@ Turns defined code uses of `"__toString()"` method to specific method calls.
use Rector\Transform\Rector\String_\ToStringToMethodCallRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(ToStringToMethodCallRector::class)
@ -11255,7 +11255,7 @@ use Rector\Transform\Rector\Isset_\UnsetAndIssetToMethodCallRector;
use Rector\Transform\ValueObject\UnsetAndIssetToMethodCall;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(UnsetAndIssetToMethodCallRector::class)
@ -11288,7 +11288,7 @@ use Rector\Transform\Rector\ClassMethod\WrapReturnRector;
use Rector\Transform\ValueObject\WrapReturn;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(WrapReturnRector::class)
@ -11423,7 +11423,7 @@ use Rector\TypeDeclaration\Rector\ClassMethod\AddParamTypeDeclarationRector;
use Rector\TypeDeclaration\ValueObject\AddParamTypeDeclaration;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(AddParamTypeDeclarationRector::class)
@ -11459,7 +11459,7 @@ use Rector\TypeDeclaration\Rector\Property\AddPropertyTypeDeclarationRector;
use Rector\TypeDeclaration\ValueObject\AddPropertyTypeDeclaration;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(AddPropertyTypeDeclarationRector::class)
@ -11494,7 +11494,7 @@ use Rector\TypeDeclaration\Rector\ClassMethod\AddReturnTypeDeclarationRector;
use Rector\TypeDeclaration\ValueObject\AddReturnTypeDeclaration;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(AddReturnTypeDeclarationRector::class)
@ -11530,7 +11530,7 @@ Add return type void to function like without any return
use Rector\TypeDeclaration\Rector\ClassMethod\AddVoidReturnTypeWhereNoReturnRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(AddVoidReturnTypeWhereNoReturnRector::class)
@ -11964,7 +11964,7 @@ use Rector\Visibility\Rector\ClassConst\ChangeConstantVisibilityRector;
use Rector\Visibility\ValueObject\ChangeConstantVisibility;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(ChangeConstantVisibilityRector::class)
@ -12002,7 +12002,7 @@ use Rector\Visibility\Rector\ClassMethod\ChangeMethodVisibilityRector;
use Rector\Visibility\ValueObject\ChangeMethodVisibility;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (\Rector\Config\RectorConfig $containerConfigurator): void {
$services = $containerConfigurator->services();
$services->set(ChangeMethodVisibilityRector::class)

View File

@ -10,13 +10,11 @@ Do you want to know more about it? Continue here:
- [Zero Config Analysis with Static Reflection](https://phpstan.org/blog/zero-config-analysis-with-static-reflection) - from PHPStan
```php
// rector.php
use Rector\Core\Configuration\Option;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Rector\Config\RectorConfig;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
// Rector is using static reflection to load code without running it - see https://phpstan.org/blog/zero-config-analysis-with-static-reflection
$parameters->set(Option::AUTOLOAD_PATHS, [
@ -32,13 +30,12 @@ return static function (ContainerConfigurator $containerConfigurator): void {
Do you need to include constants, class aliases or custom autoloader? Use `BOOTSTRAP_FILES` parameter:
```php
// rector.php
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::BOOTSTRAP_FILES, [
__DIR__ . '/constants.php',

View File

@ -2,15 +2,15 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\Symfony\Set\SymfonySetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(SymfonySetList::SYMFONY_52);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(SymfonySetList::SYMFONY_52);
$parameters = $containerConfigurator->parameters();
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_80);
$parameters->set(Option::SOURCE, [__DIR__ . '/src']);
};

View File

@ -2,10 +2,10 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PATHS, [__DIR__ . '/src']);
};

View File

@ -2,13 +2,13 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Set\ValueObject\SetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PATHS, [__DIR__.'/src']);
$containerConfigurator->import(SetList::PHP_53);
$rectorConfig->import(SetList::PHP_53);
};

View File

@ -2,10 +2,10 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Privatization\Rector\Class_\FinalizeClassesWithoutChildrenRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(FinalizeClassesWithoutChildrenRector::class);
};

View File

@ -3,13 +3,13 @@
declare(strict_types=1);
use Rector\CodingStyle\Rector\ClassMethod\MakeInheritedMethodVisibilitySameAsParentRector;
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PATHS, [__DIR__ . '/src/']);
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->set(MakeInheritedMethodVisibilitySameAsParentRector::class);
};

View File

@ -2,13 +2,14 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Set\ValueObject\SetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PATHS, [__DIR__.'/src']);
$containerConfigurator->import(SetList::DEAD_CODE);
$rectorConfig->import(SetList::DEAD_CODE);
};

View File

@ -2,13 +2,14 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Set\ValueObject\SetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PATHS, [__DIR__.'/src']);
$containerConfigurator->import(SetList::PHP_53);
$rectorConfig->import(SetList::PHP_53);
};

View File

@ -2,13 +2,13 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Set\ValueObject\SetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PATHS, [__DIR__.'/src']);
$containerConfigurator->import(SetList::PHP_53);
$rectorConfig->import(SetList::PHP_53);
};

View File

@ -2,21 +2,21 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Bootstrap\ExtensionConfigResolver;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(__DIR__ . '/services.php');
$containerConfigurator->import(__DIR__ . '/services-rules.php');
$containerConfigurator->import(__DIR__ . '/services-packages.php');
$containerConfigurator->import(__DIR__ . '/parameters.php');
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(__DIR__ . '/services.php');
$rectorConfig->import(__DIR__ . '/services-rules.php');
$rectorConfig->import(__DIR__ . '/services-packages.php');
$rectorConfig->import(__DIR__ . '/parameters.php');
$extensionConfigResolver = new ExtensionConfigResolver();
$extensionConfigFiles = $extensionConfigResolver->provide();
foreach ($extensionConfigFiles as $extensionConfigFile) {
$containerConfigurator->import($extensionConfigFile->getRealPath());
$rectorConfig->import($extensionConfigFile->getRealPath());
}
// require only in dev
$containerConfigurator->import(__DIR__ . '/../utils/compiler/config/config.php', null, 'not_found');
$rectorConfig->import(__DIR__ . '/../utils/compiler/config/config.php', null, 'not_found');
};

View File

@ -3,12 +3,13 @@
declare(strict_types=1);
use OndraM\CiDetector\CiDetector;
use Rector\Caching\ValueObject\Storage\MemoryCacheStorage;
use Rector\Core\Configuration\Option;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
use Rector\Caching\ValueObject\Storage\MemoryCacheStorage;
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
// paths and extensions
$parameters->set(Option::PATHS, []);

View File

@ -2,15 +2,16 @@
declare(strict_types=1);
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Rector\Config\RectorConfig;
use Symplify\EasyParallel\ValueObject\EasyParallelConfig;
use Symplify\PackageBuilder\Yaml\ParametersMerger;
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (RectorConfig $rectorConfig): void {
// make use of https://github.com/symplify/easy-parallel
$containerConfigurator->import(EasyParallelConfig::FILE_PATH);
$rectorConfig->import(EasyParallelConfig::FILE_PATH);
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->defaults()
->public()

View File

@ -2,12 +2,12 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\PSR4\Composer\PSR4NamespaceMatcher;
use Rector\PSR4\Contract\PSR4AutoloadNamespaceMatcherInterface;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->defaults()
->public()

View File

@ -28,6 +28,7 @@ use Rector\BetterPhpDocParser\PhpDocParser\BetterPhpDocParser;
use Rector\BetterPhpDocParser\PhpDocParser\BetterTypeParser;
use Rector\Caching\Cache;
use Rector\Caching\CacheFactory;
use Rector\Config\RectorConfig;
use Rector\Core\Console\ConsoleApplication;
use Rector\Core\Console\Style\RectorConsoleOutputStyle;
use Rector\Core\Console\Style\RectorConsoleOutputStyleFactory;
@ -36,7 +37,6 @@ use Rector\NodeTypeResolver\DependencyInjection\PHPStanServicesFactory;
use Rector\NodeTypeResolver\Reflection\BetterReflection\SourceLocator\IntermediateSourceLocator;
use Rector\NodeTypeResolver\Reflection\BetterReflection\SourceLocatorProvider\DynamicSourceLocatorProvider;
use Symfony\Component\Console\Application;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use function Symfony\Component\DependencyInjection\Loader\Configurator\service;
use Symplify\Astral\NodeTraverser\SimpleCallableNodeTraverser;
use Symplify\PackageBuilder\Console\Command\CommandNaming;
@ -51,8 +51,8 @@ use Symplify\SmartFileSystem\Finder\FinderSanitizer;
use Symplify\SmartFileSystem\Json\JsonFileSystem;
use Symplify\SmartFileSystem\SmartFileSystem;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->defaults()
->public()

View File

@ -2,10 +2,10 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\DependencyInjection\Rector\Class_\ActionInjectionToConstructorInjectionRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(ActionInjectionToConstructorInjectionRector::class);
};

View File

@ -3,6 +3,7 @@
declare(strict_types=1);
use Rector\CodeQuality\Rector\Array_\ArrayThisCallToThisMethodCallRector;
use Rector\CodeQuality\Rector\Array_\CallableThisArrayToAnonymousFunctionRector;
use Rector\CodeQuality\Rector\Assign\CombinedAssignRector;
use Rector\CodeQuality\Rector\Assign\SplitListAssignToSeparateLineRector;
@ -73,13 +74,13 @@ use Rector\CodeQuality\Rector\Ternary\UnnecessaryTernaryExpressionRector;
use Rector\CodingStyle\Rector\ClassMethod\FuncGetArgsToVariadicParamRector;
use Rector\CodingStyle\Rector\FuncCall\CallUserFuncToMethodCallRector;
use Rector\CodingStyle\Rector\FuncCall\CountArrayToEmptyArrayComparisonRector;
use Rector\Config\RectorConfig;
use Rector\Php52\Rector\Property\VarToPublicPropertyRector;
use Rector\Php71\Rector\FuncCall\RemoveExtraParametersRector;
use Rector\Renaming\Rector\FuncCall\RenameFunctionRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(CombinedAssignRector::class);
$services->set(SimplifyEmptyArrayCheckRector::class);
$services->set(ReplaceMultipleBooleanNotRector::class);

View File

@ -3,6 +3,7 @@
declare(strict_types=1);
use Rector\CodingStyle\Rector\Assign\PHPStormVarAnnotationRector;
use Rector\CodingStyle\Rector\Assign\SplitDoubleAssignRector;
use Rector\CodingStyle\Rector\Catch_\CatchExceptionNameMatchingTypeRector;
use Rector\CodingStyle\Rector\Class_\AddArrayDefaultToArrayPropertyRector;
@ -28,12 +29,12 @@ use Rector\CodingStyle\Rector\String_\SymplifyQuoteEscapeRector;
use Rector\CodingStyle\Rector\Switch_\BinarySwitchToIfElseRector;
use Rector\CodingStyle\Rector\Ternary\TernaryConditionVariableAssignmentRector;
use Rector\CodingStyle\Rector\Use_\SeparateMultiUseImportsRector;
use Rector\Config\RectorConfig;
use Rector\Php55\Rector\String_\StringClassNameToClassConstantRector;
use Rector\Transform\Rector\FuncCall\FuncCallToConstFetchRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(PHPStormVarAnnotationRector::class);
$services->set(NullableCompareToNullRector::class);
$services->set(BinarySwitchToIfElseRector::class);

View File

@ -3,6 +3,8 @@
declare(strict_types=1);
use Rector\CodeQuality\Rector\FunctionLike\SimplifyUselessVariableRector;
use Rector\Config\RectorConfig;
use Rector\DeadCode\Rector\Array_\RemoveDuplicatedArrayKeyRector;
use Rector\DeadCode\Rector\Assign\RemoveDoubleAssignRector;
use Rector\DeadCode\Rector\Assign\RemoveUnusedVariableAssignRector;
@ -48,10 +50,9 @@ use Rector\DeadCode\Rector\Switch_\RemoveDuplicatedCaseInSwitchRector;
use Rector\DeadCode\Rector\Ternary\TernaryToBooleanOrFalseToBooleanAndRector;
use Rector\DeadCode\Rector\TryCatch\RemoveDeadTryCatchRector;
use Rector\PHPUnit\Rector\ClassMethod\RemoveEmptyTestMethodRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(UnwrapFutureCompatibleIfFunctionExistsRector::class);
$services->set(UnwrapFutureCompatibleIfPhpVersionRector::class);
$services->set(RecastingRemovalRector::class);

View File

@ -2,12 +2,12 @@
declare(strict_types=1);
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Rector\Config\RectorConfig;
// @see https://ocramius.github.io/blog/fluent-interfaces-are-evil/
// @see https://www.yegor256.com/2018/03/13/fluent-interfaces.html
return static function (ContainerConfigurator $containerConfigurator): void {
return static function (RectorConfig $rectorConfig): void {
$deprecatedMessage = sprintf(
'The DEFLUENT set is deprecated for high number of assumptions and reported bugs. Better use PHPStan rule "%s" to warn about these cases and refactor manually.',
'https://github.com/symplify/phpstan-rules/blob/main/docs/rules_overview.md#nochainmethodcallrule'

View File

@ -2,15 +2,15 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\DowngradePhp53\Rector\Dir\DirConstToFileConstRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_52);
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->set(DirConstToFileConstRector::class);
};

View File

@ -2,6 +2,7 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\DowngradePhp54\Rector\Array_\ShortArrayToLongArrayRector;
@ -11,13 +12,12 @@ use Rector\DowngradePhp54\Rector\FuncCall\DowngradeIndirectCallByArrayRector;
use Rector\DowngradePhp54\Rector\FunctionLike\DowngradeCallableTypeDeclarationRector;
use Rector\DowngradePhp54\Rector\LNumber\DowngradeBinaryNotationRector;
use Rector\DowngradePhp54\Rector\MethodCall\DowngradeInstanceMethodCallRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_53);
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->set(ShortArrayToLongArrayRector::class);
$services->set(DowngradeStaticClosureRector::class);
$services->set(DowngradeIndirectCallByArrayRector::class);

View File

@ -2,19 +2,19 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\DowngradePhp55\Rector\ClassConstFetch\DowngradeClassConstantToStringRector;
use Rector\DowngradePhp55\Rector\Foreach_\DowngradeForeachListRector;
use Rector\DowngradePhp55\Rector\FuncCall\DowngradeBoolvalRector;
use Rector\DowngradePhp55\Rector\Isset_\DowngradeArbitraryExpressionArgsToEmptyAndIssetRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_54);
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->set(DowngradeClassConstantToStringRector::class);
$services->set(DowngradeForeachListRector::class);
$services->set(DowngradeBoolvalRector::class);

View File

@ -2,6 +2,7 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\DowngradePhp56\Rector\CallLike\DowngradeArgumentUnpackingRector;
@ -9,13 +10,12 @@ use Rector\DowngradePhp56\Rector\FuncCall\DowngradeArrayFilterUseConstantRector;
use Rector\DowngradePhp56\Rector\Pow\DowngradeExponentialAssignmentOperatorRector;
use Rector\DowngradePhp56\Rector\Pow\DowngradeExponentialOperatorRector;
use Rector\DowngradePhp56\Rector\Use_\DowngradeUseFunctionRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_55);
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->set(DowngradeArgumentUnpackingRector::class);
$services->set(DowngradeUseFunctionRector::class);
$services->set(DowngradeExponentialAssignmentOperatorRector::class);

View File

@ -2,6 +2,7 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\DowngradePhp70\Rector\ClassMethod\DowngradeParentTypeDeclarationRector;
@ -23,13 +24,12 @@ use Rector\DowngradePhp70\Rector\New_\DowngradeAnonymousClassRector;
use Rector\DowngradePhp70\Rector\Spaceship\DowngradeSpaceshipRector;
use Rector\DowngradePhp70\Rector\String_\DowngradeGeneratedScalarTypesRector;
use Rector\DowngradePhp70\Rector\TryCatch\DowngradeCatchThrowableRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_56);
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->set(DowngradeCatchThrowableRector::class);
$services->set(DowngradeInstanceofThrowableRector::class);
$services->set(DowngradeScalarTypeDeclarationRector::class);

View File

@ -2,6 +2,7 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\DowngradePhp71\Rector\Array_\SymmetricArrayDestructuringToListRector;
@ -15,13 +16,12 @@ use Rector\DowngradePhp71\Rector\List_\DowngradeKeysInListRector;
use Rector\DowngradePhp71\Rector\StaticCall\DowngradeClosureFromCallableRector;
use Rector\DowngradePhp71\Rector\String_\DowngradeNegativeStringOffsetToStrlenRector;
use Rector\DowngradePhp71\Rector\TryCatch\DowngradePipeToMultiCatchExceptionRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_70);
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->set(DowngradeNullableTypeDeclarationRector::class);
$services->set(DowngradeVoidTypeDeclarationRector::class);
$services->set(DowngradeClassConstantVisibilityRector::class);

View File

@ -2,6 +2,7 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\DowngradePhp72\Rector\ClassMethod\DowngradeParameterTypeWideningRector;
@ -10,13 +11,12 @@ use Rector\DowngradePhp72\Rector\FuncCall\DowngradeJsonDecodeNullAssociativeArgR
use Rector\DowngradePhp72\Rector\FuncCall\DowngradePregUnmatchedAsNullConstantRector;
use Rector\DowngradePhp72\Rector\FuncCall\DowngradeStreamIsattyRector;
use Rector\DowngradePhp72\Rector\FunctionLike\DowngradeObjectTypeDeclarationRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_71);
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->set(DowngradeObjectTypeDeclarationRector::class);
$services->set(DowngradeParameterTypeWideningRector::class);
$services->set(DowngradePregUnmatchedAsNullConstantRector::class);

View File

@ -2,8 +2,8 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\DowngradePhp73\Rector\ConstFetch\DowngradePhp73JsonConstRector;
use Rector\DowngradePhp73\Rector\FuncCall\DowngradeArrayKeyFirstLastRector;
@ -12,13 +12,12 @@ use Rector\DowngradePhp73\Rector\FuncCall\DowngradeTrailingCommasInFunctionCalls
use Rector\DowngradePhp73\Rector\FuncCall\SetCookieOptionsArrayToArgumentsRector;
use Rector\DowngradePhp73\Rector\List_\DowngradeListReferenceAssignmentRector;
use Rector\DowngradePhp73\Rector\String_\DowngradeFlexibleHeredocSyntaxRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_72);
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->set(DowngradeFlexibleHeredocSyntaxRector::class);
$services->set(DowngradeListReferenceAssignmentRector::class);
$services->set(DowngradeTrailingCommasInFunctionCallsRector::class);

View File

@ -2,8 +2,8 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\DowngradePhp74\Rector\Array_\DowngradeArraySpreadRector;
use Rector\DowngradePhp74\Rector\ArrowFunction\ArrowFunctionToAnonymousFunctionRector;
@ -17,13 +17,12 @@ use Rector\DowngradePhp74\Rector\Interface_\DowngradePreviouslyImplementedInterf
use Rector\DowngradePhp74\Rector\LNumber\DowngradeNumericLiteralSeparatorRector;
use Rector\DowngradePhp74\Rector\MethodCall\DowngradeReflectionGetTypeRector;
use Rector\DowngradePhp74\Rector\Property\DowngradeTypedPropertyRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_73);
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->set(DowngradeTypedPropertyRector::class);
$services->set(ArrowFunctionToAnonymousFunctionRector::class);
$services->set(DowngradeCovariantReturnTypeRector::class);

View File

@ -2,8 +2,8 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\DowngradePhp80\Rector\ArrayDimFetch\DowngradeDereferenceableOperationRector;
use Rector\DowngradePhp80\Rector\Catch_\DowngradeNonCapturingCatchesRector;
@ -35,13 +35,12 @@ use Rector\DowngradePhp80\Rector\Property\DowngradeUnionTypeTypedPropertyRector;
use Rector\DowngradePhp80\Rector\StaticCall\DowngradePhpTokenRector;
use Rector\DowngradePhp80\ValueObject\DowngradeAttributeToAnnotation;
use Rector\Removing\Rector\Class_\RemoveInterfacesRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_74);
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->set(RemoveInterfacesRector::class)
->configure([
// @see https://wiki.php.net/rfc/stringable

View File

@ -2,6 +2,7 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\DowngradePhp81\Rector\Array_\DowngradeArraySpreadStringKeyRector;
@ -13,13 +14,12 @@ use Rector\DowngradePhp81\Rector\FunctionLike\DowngradeNewInInitializerRector;
use Rector\DowngradePhp81\Rector\FunctionLike\DowngradePureIntersectionTypeRector;
use Rector\DowngradePhp81\Rector\Instanceof_\DowngradePhp81ResourceReturnToObjectRector;
use Rector\DowngradePhp81\Rector\Property\DowngradeReadonlyPropertyRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_80);
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->set(DowngradeFinalizePublicClassConstantRector::class);
$services->set(DowngradeFirstClassCallableSyntaxRector::class);
$services->set(DowngradeNeverTypeDeclarationRector::class);

View File

@ -2,6 +2,7 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\EarlyReturn\Rector\Foreach_\ChangeNestedForeachIfsToEarlyContinueRector;
use Rector\EarlyReturn\Rector\Foreach_\ReturnAfterToEarlyOnBreakRector;
use Rector\EarlyReturn\Rector\If_\ChangeAndIfToEarlyReturnRector;
@ -13,10 +14,9 @@ use Rector\EarlyReturn\Rector\If_\RemoveAlwaysElseRector;
use Rector\EarlyReturn\Rector\Return_\PreparedValueToEarlyReturnRector;
use Rector\EarlyReturn\Rector\Return_\ReturnBinaryAndToEarlyReturnRector;
use Rector\EarlyReturn\Rector\Return_\ReturnBinaryOrToEarlyReturnRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(ChangeNestedForeachIfsToEarlyContinueRector::class);
$services->set(ChangeAndIfToEarlyReturnRector::class);
$services->set(ChangeIfElseValueAssignToEarlyReturnRector::class);

View File

@ -2,12 +2,12 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Renaming\Rector\MethodCall\RenameMethodRector;
use Rector\Renaming\ValueObject\MethodCallRename;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(RenameMethodRector::class)
->configure([
// Rename is now move, specific for files.

View File

@ -2,12 +2,12 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Symfony\Rector\ClassMethod\RemoveServiceFromSensioRouteRector;
use Rector\Symfony\Rector\ClassMethod\ReplaceSensioRouteAnnotationWithSymfonyRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(ReplaceSensioRouteAnnotationWithSymfonyRector::class);
$services->set(RemoveServiceFromSensioRouteRector::class);

View File

@ -2,10 +2,10 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Symfony\Rector\ClassMethod\TemplateAnnotationToThisRenderRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(TemplateAnnotationToThisRenderRector::class);
};

View File

@ -2,14 +2,14 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Renaming\Rector\MethodCall\RenameMethodRector;
use Rector\Renaming\Rector\Name\RenameClassRector;
use Rector\Renaming\ValueObject\MethodCallRename;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
# https://www.php.net/manual/en/book.gmagick.php → https://www.php.net/manual/en/book.imagick.php
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(RenameClassRector::class)
->configure([
'Gmagick' => 'Imagick',

View File

@ -2,16 +2,16 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Renaming\Rector\MethodCall\RenameMethodRector;
use Rector\Renaming\ValueObject\MethodCallRename;
use Rector\Transform\Rector\FuncCall\FuncCallToMethodCallRector;
use Rector\Transform\Rector\StaticCall\StaticCallToFuncCallRector;
use Rector\Transform\ValueObject\FuncCallToMethodCall;
use Rector\Transform\ValueObject\StaticCallToFuncCall;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$configuration = [
new FuncCallToMethodCall('GuzzleHttp\json_decode', 'GuzzleHttp\Utils', 'jsonDecode'),

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Set\ValueObject\DowngradeLevelSetList;
use Rector\Set\ValueObject\DowngradeSetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(DowngradeLevelSetList::DOWN_TO_PHP_53);
$containerConfigurator->import(DowngradeSetList::PHP_53);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(DowngradeLevelSetList::DOWN_TO_PHP_53);
$rectorConfig->import(DowngradeSetList::PHP_53);
};

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Set\ValueObject\DowngradeLevelSetList;
use Rector\Set\ValueObject\DowngradeSetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(DowngradeLevelSetList::DOWN_TO_PHP_54);
$containerConfigurator->import(DowngradeSetList::PHP_54);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(DowngradeLevelSetList::DOWN_TO_PHP_54);
$rectorConfig->import(DowngradeSetList::PHP_54);
};

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Set\ValueObject\DowngradeLevelSetList;
use Rector\Set\ValueObject\DowngradeSetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(DowngradeLevelSetList::DOWN_TO_PHP_55);
$containerConfigurator->import(DowngradeSetList::PHP_55);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(DowngradeLevelSetList::DOWN_TO_PHP_55);
$rectorConfig->import(DowngradeSetList::PHP_55);
};

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Set\ValueObject\DowngradeLevelSetList;
use Rector\Set\ValueObject\DowngradeSetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(DowngradeLevelSetList::DOWN_TO_PHP_56);
$containerConfigurator->import(DowngradeSetList::PHP_56);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(DowngradeLevelSetList::DOWN_TO_PHP_56);
$rectorConfig->import(DowngradeSetList::PHP_56);
};

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Set\ValueObject\DowngradeLevelSetList;
use Rector\Set\ValueObject\DowngradeSetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(DowngradeLevelSetList::DOWN_TO_PHP_70);
$containerConfigurator->import(DowngradeSetList::PHP_70);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(DowngradeLevelSetList::DOWN_TO_PHP_70);
$rectorConfig->import(DowngradeSetList::PHP_70);
};

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Set\ValueObject\DowngradeLevelSetList;
use Rector\Set\ValueObject\DowngradeSetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(DowngradeLevelSetList::DOWN_TO_PHP_71);
$containerConfigurator->import(DowngradeSetList::PHP_71);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(DowngradeLevelSetList::DOWN_TO_PHP_71);
$rectorConfig->import(DowngradeSetList::PHP_71);
};

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Set\ValueObject\DowngradeLevelSetList;
use Rector\Set\ValueObject\DowngradeSetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(DowngradeLevelSetList::DOWN_TO_PHP_72);
$containerConfigurator->import(DowngradeSetList::PHP_72);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(DowngradeLevelSetList::DOWN_TO_PHP_72);
$rectorConfig->import(DowngradeSetList::PHP_72);
};

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Set\ValueObject\DowngradeLevelSetList;
use Rector\Set\ValueObject\DowngradeSetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(DowngradeLevelSetList::DOWN_TO_PHP_73);
$containerConfigurator->import(DowngradeSetList::PHP_73);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(DowngradeLevelSetList::DOWN_TO_PHP_73);
$rectorConfig->import(DowngradeSetList::PHP_73);
};

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Set\ValueObject\DowngradeLevelSetList;
use Rector\Set\ValueObject\DowngradeSetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(DowngradeLevelSetList::DOWN_TO_PHP_74);
$containerConfigurator->import(DowngradeSetList::PHP_74);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(DowngradeLevelSetList::DOWN_TO_PHP_74);
$rectorConfig->import(DowngradeSetList::PHP_74);
};

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Set\ValueObject\DowngradeLevelSetList;
use Rector\Set\ValueObject\DowngradeSetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(DowngradeLevelSetList::DOWN_TO_PHP_80);
$containerConfigurator->import(DowngradeSetList::PHP_80);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(DowngradeLevelSetList::DOWN_TO_PHP_80);
$rectorConfig->import(DowngradeSetList::PHP_80);
};

View File

@ -2,9 +2,9 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Set\ValueObject\DowngradeSetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(DowngradeSetList::PHP_81);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(DowngradeSetList::PHP_81);
};

View File

@ -2,16 +2,16 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\Set\ValueObject\SetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(SetList::PHP_54);
$containerConfigurator->import(SetList::PHP_53);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(SetList::PHP_54);
$rectorConfig->import(SetList::PHP_53);
// parameter must be defined after import, to override impored param version
$parameters = $containerConfigurator->parameters();
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_54);
};

View File

@ -2,17 +2,17 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\Set\ValueObject\LevelSetList;
use Rector\Set\ValueObject\SetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(SetList::PHP_55);
$containerConfigurator->import(LevelSetList::UP_TO_PHP_54);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(SetList::PHP_55);
$rectorConfig->import(LevelSetList::UP_TO_PHP_54);
// parameter must be defined after import, to override impored param version
$parameters = $containerConfigurator->parameters();
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_55);
};

View File

@ -2,17 +2,17 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\Set\ValueObject\LevelSetList;
use Rector\Set\ValueObject\SetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(SetList::PHP_56);
$containerConfigurator->import(LevelSetList::UP_TO_PHP_55);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(SetList::PHP_56);
$rectorConfig->import(LevelSetList::UP_TO_PHP_55);
// parameter must be defined after import, to override impored param version
$parameters = $containerConfigurator->parameters();
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_56);
};

View File

@ -2,17 +2,17 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\Set\ValueObject\LevelSetList;
use Rector\Set\ValueObject\SetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(SetList::PHP_70);
$containerConfigurator->import(LevelSetList::UP_TO_PHP_56);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(SetList::PHP_70);
$rectorConfig->import(LevelSetList::UP_TO_PHP_56);
// parameter must be defined after import, to override impored param version
$parameters = $containerConfigurator->parameters();
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_70);
};

View File

@ -2,17 +2,17 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\Set\ValueObject\LevelSetList;
use Rector\Set\ValueObject\SetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(SetList::PHP_71);
$containerConfigurator->import(LevelSetList::UP_TO_PHP_70);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(SetList::PHP_71);
$rectorConfig->import(LevelSetList::UP_TO_PHP_70);
// parameter must be defined after import, to override impored param version
$parameters = $containerConfigurator->parameters();
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_71);
};

View File

@ -2,17 +2,17 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\Set\ValueObject\LevelSetList;
use Rector\Set\ValueObject\SetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(SetList::PHP_72);
$containerConfigurator->import(LevelSetList::UP_TO_PHP_71);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(SetList::PHP_72);
$rectorConfig->import(LevelSetList::UP_TO_PHP_71);
// parameter must be defined after import, to override impored param version
$parameters = $containerConfigurator->parameters();
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_72);
};

View File

@ -2,17 +2,17 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\Set\ValueObject\LevelSetList;
use Rector\Set\ValueObject\SetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(SetList::PHP_73);
$containerConfigurator->import(LevelSetList::UP_TO_PHP_72);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(SetList::PHP_73);
$rectorConfig->import(LevelSetList::UP_TO_PHP_72);
// parameter must be defined after import, to override impored param version
$parameters = $containerConfigurator->parameters();
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_73);
};

View File

@ -2,17 +2,17 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\Set\ValueObject\LevelSetList;
use Rector\Set\ValueObject\SetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(SetList::PHP_74);
$containerConfigurator->import(LevelSetList::UP_TO_PHP_73);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(SetList::PHP_74);
$rectorConfig->import(LevelSetList::UP_TO_PHP_73);
// parameter must be defined after import, to override impored param version
$parameters = $containerConfigurator->parameters();
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_74);
};

View File

@ -2,17 +2,17 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\Set\ValueObject\LevelSetList;
use Rector\Set\ValueObject\SetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(SetList::PHP_80);
$containerConfigurator->import(LevelSetList::UP_TO_PHP_74);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(SetList::PHP_80);
$rectorConfig->import(LevelSetList::UP_TO_PHP_74);
// parameter must be defined after import, to override impored param version
$parameters = $containerConfigurator->parameters();
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_80);
};

View File

@ -2,17 +2,17 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\Core\ValueObject\PhpVersion;
use Rector\Set\ValueObject\LevelSetList;
use Rector\Set\ValueObject\SetList;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$containerConfigurator->import(SetList::PHP_81);
$containerConfigurator->import(LevelSetList::UP_TO_PHP_80);
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->import(SetList::PHP_81);
$rectorConfig->import(LevelSetList::UP_TO_PHP_80);
// parameter must be defined after import, to override impored param version
$parameters = $containerConfigurator->parameters();
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_81);
};

View File

@ -2,13 +2,13 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Renaming\Rector\MethodCall\RenameMethodRector;
use Rector\Renaming\ValueObject\MethodCallRename;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
# https://github.com/Seldaek/monolog/commit/39f8a20e6dadc0194e846b254c5f23d1c732290b#diff-dce565f403e044caa5e6a0d988339430
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(RenameMethodRector::class)
->configure([
new MethodCallRename('Monolog\Logger', 'addDebug', 'debug'),

View File

@ -3,7 +3,9 @@
declare(strict_types=1);
use Rector\Arguments\Rector\FuncCall\SwapFuncCallArgumentsRector;
use Rector\Arguments\ValueObject\SwapFuncCallArguments;
use Rector\Config\RectorConfig;
use Rector\MysqlToMysqli\Rector\Assign\MysqlAssignToMysqliRector;
use Rector\MysqlToMysqli\Rector\FuncCall\MysqlFuncCallToMysqliRector;
use Rector\MysqlToMysqli\Rector\FuncCall\MysqlPConnectToMysqliConnectRector;
@ -12,10 +14,9 @@ use Rector\Removing\Rector\FuncCall\RemoveFuncCallArgRector;
use Rector\Removing\ValueObject\RemoveFuncCallArg;
use Rector\Renaming\Rector\ConstFetch\RenameConstantRector;
use Rector\Renaming\Rector\FuncCall\RenameFunctionRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
# https://stackoverflow.com/a/1390625/1348344
# https://github.com/philip/MySQLConverterTool/blob/master/Converter.php

View File

@ -2,16 +2,16 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Naming\Rector\Assign\RenameVariableToMatchMethodCallReturnTypeRector;
use Rector\Naming\Rector\Class_\RenamePropertyToMatchTypeRector;
use Rector\Naming\Rector\ClassMethod\RenameParamToMatchTypeRector;
use Rector\Naming\Rector\ClassMethod\RenameVariableToMatchNewTypeRector;
use Rector\Naming\Rector\Foreach_\RenameForeachValueVariableToMatchExprVariableRector;
use Rector\Naming\Rector\Foreach_\RenameForeachValueVariableToMatchMethodCallReturnTypeRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(RenameParamToMatchTypeRector::class);
$services->set(RenamePropertyToMatchTypeRector::class);
$services->set(RenameVariableToMatchNewTypeRector::class);

View File

@ -2,14 +2,14 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Php52\Rector\Property\VarToPublicPropertyRector;
use Rector\Php52\Rector\Switch_\ContinueToBreakInSwitchRector;
use Rector\Removing\Rector\FuncCall\RemoveFuncCallArgRector;
use Rector\Removing\ValueObject\RemoveFuncCallArg;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(VarToPublicPropertyRector::class);
$services->set(ContinueToBreakInSwitchRector::class);

View File

@ -2,13 +2,13 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Php53\Rector\FuncCall\DirNameFileConstantToDirConstantRector;
use Rector\Php53\Rector\Ternary\TernaryToElvisRector;
use Rector\Php53\Rector\Variable\ReplaceHttpServerVarsByServerRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(TernaryToElvisRector::class);
$services->set(DirNameFileConstantToDirConstantRector::class);

View File

@ -2,13 +2,13 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Php54\Rector\Break_\RemoveZeroBreakContinueRector;
use Rector\Php54\Rector\FuncCall\RemoveReferenceFromCallRector;
use Rector\Renaming\Rector\FuncCall\RenameFunctionRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(RenameFunctionRector::class)
->configure([
'mysqli_param_count' => 'mysqli_stmt_param_count',

View File

@ -2,15 +2,15 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Php55\Rector\Class_\ClassConstantToSelfClassRector;
use Rector\Php55\Rector\FuncCall\GetCalledClassToSelfClassRector;
use Rector\Php55\Rector\FuncCall\GetCalledClassToStaticClassRector;
use Rector\Php55\Rector\FuncCall\PregReplaceEModifierRector;
use Rector\Php55\Rector\String_\StringClassNameToClassConstantRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(StringClassNameToClassConstantRector::class);
$services->set(ClassConstantToSelfClassRector::class);
$services->set(PregReplaceEModifierRector::class);

View File

@ -2,13 +2,13 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Php56\Rector\FuncCall\PowToExpRector;
use Rector\Php56\Rector\FunctionLike\AddDefaultValueForUndefinedVariableRector;
use Rector\Renaming\Rector\FuncCall\RenameFunctionRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(PowToExpRector::class);
$services->set(RenameFunctionRector::class)

View File

@ -2,6 +2,7 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Php70\Rector\Assign\ListSplitStringRector;
use Rector\Php70\Rector\Assign\ListSwapArrayOrderRector;
use Rector\Php70\Rector\Break_\BreakNotInLoopOrSwitchToReturnRector;
@ -21,10 +22,9 @@ use Rector\Php70\Rector\Switch_\ReduceMultipleDefaultSwitchRector;
use Rector\Php70\Rector\Ternary\TernaryToNullCoalescingRector;
use Rector\Php70\Rector\Ternary\TernaryToSpaceshipRector;
use Rector\Php70\Rector\Variable\WrapVariableVariableNameInCurlyBracesRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(Php4ConstructorRector::class);
$services->set(TernaryToNullCoalescingRector::class);

View File

@ -2,6 +2,7 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Php71\Rector\Assign\AssignArrayToStringRector;
use Rector\Php71\Rector\BinaryOp\BinaryOpBetweenNumberAndStringRector;
use Rector\Php71\Rector\BooleanOr\IsIterableRector;
@ -10,10 +11,9 @@ use Rector\Php71\Rector\FuncCall\CountOnNullRector;
use Rector\Php71\Rector\FuncCall\RemoveExtraParametersRector;
use Rector\Php71\Rector\List_\ListToArrayDestructRector;
use Rector\Php71\Rector\TryCatch\MultiExceptionCatchRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(IsIterableRector::class);
$services->set(MultiExceptionCatchRector::class);
$services->set(AssignArrayToStringRector::class);

View File

@ -2,6 +2,7 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Php72\Rector\Assign\ListEachRector;
use Rector\Php72\Rector\Assign\ReplaceEachAssignmentWithKeyCurrentRector;
use Rector\Php72\Rector\FuncCall\CreateFunctionToAnonymousFunctionRector;
@ -13,10 +14,9 @@ use Rector\Php72\Rector\FuncCall\StringsAssertNakedRector;
use Rector\Php72\Rector\Unset_\UnsetCastRector;
use Rector\Php72\Rector\While_\WhileEachToForeachRector;
use Rector\Renaming\Rector\FuncCall\RenameFunctionRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(WhileEachToForeachRector::class);
$services->set(ListEachRector::class);

View File

@ -2,6 +2,7 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Php52\Rector\Switch_\ContinueToBreakInSwitchRector;
use Rector\Php73\Rector\BooleanOr\IsCountableRector;
use Rector\Php73\Rector\ConstFetch\SensitiveConstantNameRector;
@ -13,10 +14,9 @@ use Rector\Php73\Rector\FuncCall\SetCookieRector;
use Rector\Php73\Rector\FuncCall\StringifyStrNeedlesRector;
use Rector\Php73\Rector\String_\SensitiveHereNowDocRector;
use Rector\Renaming\Rector\FuncCall\RenameFunctionRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(IsCountableRector::class);
$services->set(ArrayKeyFirstLastRector::class);
$services->set(SensitiveDefineRector::class);

View File

@ -2,6 +2,7 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Php74\Rector\ArrayDimFetch\CurlyToSquareBracketArrayStringRector;
use Rector\Php74\Rector\Assign\NullCoalescingOperatorRector;
use Rector\Php74\Rector\Closure\ClosureToArrowFunctionRector;
@ -17,10 +18,9 @@ use Rector\Php74\Rector\Property\RestoreDefaultNullToNullableTypePropertyRector;
use Rector\Php74\Rector\Property\TypedPropertyRector;
use Rector\Php74\Rector\StaticCall\ExportToReflectionFunctionRector;
use Rector\Renaming\Rector\FuncCall\RenameFunctionRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(TypedPropertyRector::class);
$services->set(RenameFunctionRector::class)

View File

@ -3,10 +3,12 @@
declare(strict_types=1);
use Rector\Arguments\Rector\ClassMethod\ArgumentAdderRector;
use Rector\Arguments\Rector\FuncCall\FunctionArgumentDefaultValueReplacerRector;
use Rector\Arguments\ValueObject\ArgumentAdder;
use Rector\Arguments\ValueObject\ReplaceFuncCallArgumentDefaultValue;
use Rector\CodeQuality\Rector\ClassMethod\OptionalParametersAfterRequiredRector;
use Rector\Config\RectorConfig;
use Rector\DeadCode\Rector\StaticCall\RemoveParentCallWithoutParentRector;
use Rector\Php80\Rector\Catch_\RemoveUnusedVariableInCatchRector;
use Rector\Php80\Rector\Class_\ClassPropertyAssignToConstructorPromotionRector;
@ -26,10 +28,9 @@ use Rector\Php80\Rector\Ternary\GetDebugTypeRector;
use Rector\Renaming\Rector\FuncCall\RenameFunctionRector;
use Rector\Transform\Rector\StaticCall\StaticCallToFuncCallRector;
use Rector\Transform\ValueObject\StaticCallToFuncCall;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(UnionTypesRector::class);
$services->set(StrContainsRector::class);

View File

@ -2,6 +2,7 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Php81\Rector\Class_\MyCLabsClassToEnumRector;
use Rector\Php81\Rector\Class_\SpatieEnumClassToEnumRector;
use Rector\Php81\Rector\ClassConst\FinalizePublicClassConstantRector;
@ -12,10 +13,9 @@ use Rector\Php81\Rector\FunctionLike\IntersectionTypesRector;
use Rector\Php81\Rector\MethodCall\MyCLabsMethodCallToEnumConstRector;
use Rector\Php81\Rector\Property\ReadOnlyPropertyRector;
use Rector\TypeDeclaration\Rector\ClassMethod\ReturnNeverTypeRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(ReturnNeverTypeRector::class);
$services->set(MyCLabsClassToEnumRector::class);
$services->set(MyCLabsMethodCallToEnumConstRector::class);

View File

@ -2,6 +2,7 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Privatization\Rector\Class_\ChangeGlobalVariablesToPropertiesRector;
use Rector\Privatization\Rector\Class_\ChangeLocalPropertyToVariableRector;
use Rector\Privatization\Rector\Class_\ChangeReadOnlyVariableWithDefaultValueToConstantRector;
@ -11,10 +12,9 @@ use Rector\Privatization\Rector\ClassMethod\PrivatizeFinalClassMethodRector;
use Rector\Privatization\Rector\MethodCall\PrivatizeLocalGetterToPropertyRector;
use Rector\Privatization\Rector\Property\ChangeReadOnlyPropertyWithDefaultValueToConstantRector;
use Rector\Privatization\Rector\Property\PrivatizeFinalClassPropertyRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(FinalizeClassesWithoutChildrenRector::class);
$services->set(ChangeGlobalVariablesToPropertiesRector::class);
$services->set(ChangeReadOnlyPropertyWithDefaultValueToConstantRector::class);

View File

@ -2,12 +2,12 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\PSR4\Rector\FileWithoutNamespace\NormalizeNamespaceByPSR4ComposerAutoloadRector;
use Rector\PSR4\Rector\Namespace_\MultipleClassFileToPsr4ClassesRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(NormalizeNamespaceByPSR4ComposerAutoloadRector::class);
$services->set(MultipleClassFileToPsr4ClassesRector::class);
};

View File

@ -2,6 +2,7 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\TypeDeclaration\Rector\ClassMethod\AddMethodCallBasedStrictParamTypeRector;
use Rector\TypeDeclaration\Rector\ClassMethod\AddVoidReturnTypeWhereNoReturnRector;
use Rector\TypeDeclaration\Rector\ClassMethod\ArrayShapeFromConstantArrayReturnRector;
@ -12,10 +13,9 @@ use Rector\TypeDeclaration\Rector\Closure\AddClosureReturnTypeRector;
use Rector\TypeDeclaration\Rector\Param\ParamTypeFromStrictTypedPropertyRector;
use Rector\TypeDeclaration\Rector\Property\TypedPropertyFromStrictConstructorRector;
use Rector\TypeDeclaration\Rector\Property\TypedPropertyFromStrictGetterMethodReturnTypeRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(AddClosureReturnTypeRector::class);
$services->set(ReturnTypeFromStrictTypedPropertyRector::class);
$services->set(TypedPropertyFromStrictConstructorRector::class);

View File

@ -2,6 +2,7 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\TypeDeclaration\Rector\ClassMethod\AddArrayParamDocTypeRector;
use Rector\TypeDeclaration\Rector\ClassMethod\AddArrayReturnDocTypeRector;
use Rector\TypeDeclaration\Rector\ClassMethod\ParamTypeByMethodCallTypeRector;
@ -10,10 +11,9 @@ use Rector\TypeDeclaration\Rector\Closure\AddClosureReturnTypeRector;
use Rector\TypeDeclaration\Rector\FunctionLike\ParamTypeDeclarationRector;
use Rector\TypeDeclaration\Rector\FunctionLike\ReturnTypeDeclarationRector;
use Rector\TypeDeclaration\Rector\Property\PropertyTypeDeclarationRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(ParamTypeDeclarationRector::class);
$services->set(ReturnTypeDeclarationRector::class);
$services->set(PropertyTypeDeclarationRector::class);

View File

@ -2,10 +2,10 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\DeadCode\Rector\If_\UnwrapFutureCompatibleIfFunctionExistsRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(UnwrapFutureCompatibleIfFunctionExistsRector::class);
};

View File

@ -2,20 +2,20 @@
declare(strict_types=1);
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\DeadCode\Rector\Property\RemoveUselessVarTagRector;
use Rector\DowngradePhp80\Rector\Class_\DowngradeAttributeToAnnotationRector;
use Rector\DowngradePhp80\ValueObject\DowngradeAttributeToAnnotation;
use Rector\Renaming\Rector\Name\RenameClassRector;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PATHS, [
__DIR__ . '/src',
]);
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->set(RenameClassRector::class)
->configure(['DateTime' => 'DateTimeInterface']);
$services->set(DowngradeAttributeToAnnotationRector::class)

View File

@ -2,18 +2,18 @@
declare(strict_types=1);
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Rector\Config\RectorConfig;
use Rector\EarlyReturn\Rector\If_\RemoveAlwaysElseRector;
use Rector\Core\Configuration\Option;
use Rector\DeadCode\Rector\ClassMethod\RemoveUnusedPrivateMethodRector;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PATHS, [
__DIR__ . '/src',
]);
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->set(RemoveAlwaysElseRector::class);
$services->set(RemoveUnusedPrivateMethodRector::class);
};

View File

@ -2,19 +2,19 @@
declare(strict_types=1);
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\DeadCode\Rector\Property\RemoveUnusedPrivatePropertyRector;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PARALLEL, false);
$parameters->set(Option::PATHS, [
__DIR__ . '/src/',
]);
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->set(RemoveUnusedPrivatePropertyRector::class);
};

View File

@ -2,19 +2,19 @@
declare(strict_types=1);
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\DowngradePhp81\Rector\Property\DowngradeReadonlyPropertyRector;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PARALLEL, true);
$parameters->set(Option::PATHS, [
__DIR__.'/../../src/',
]);
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->set(DowngradeReadonlyPropertyRector::class);
};

View File

@ -2,19 +2,19 @@
declare(strict_types=1);
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
use Rector\DeadCode\Rector\Property\RemoveUnusedPrivatePropertyRector;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PARALLEL, true);
$parameters->set(Option::PATHS, [
__DIR__ . '/src/',
]);
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->set(RemoveUnusedPrivatePropertyRector::class);
};

View File

@ -2,18 +2,18 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\DowngradePhp72\Rector\FuncCall\DowngradeJsonDecodeNullAssociativeArgRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Rector\Core\Configuration\Option;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PARALLEL, true);
$parameters->set(Option::PATHS, [
__DIR__ . '/tests',
]);
$services = $containerConfigurator->services();
$services = $rectorConfig->services();
$services->set(DowngradeJsonDecodeNullAssociativeArgRector::class);
};

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PATHS, [
__DIR__.'/src/',

View File

@ -2,11 +2,11 @@
declare(strict_types=1);
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Rector\Config\RectorConfig;
use Rector\Core\Configuration\Option;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
return static function (RectorConfig $rectorConfig): void {
$parameters = $rectorConfig->parameters();
$parameters->set(Option::PATHS, [
__DIR__.'/src/',

View File

@ -28,7 +28,6 @@ use Rector\StaticTypeMapper\Contract\PhpDocParser\PhpDocTypeMapperInterface;
use Rector\StaticTypeMapper\Contract\PhpParser\PhpParserNodeMapperInterface;
use Rector\Testing\PHPUnit\AbstractTestCase;
use Rector\TypeDeclaration\Contract\TypeInferer\ParamTypeInfererInterface;
use Rector\TypeDeclaration\Contract\TypeInferer\PropertyTypeInfererInterface;
use Rector\TypeDeclaration\Contract\TypeInferer\ReturnTypeInfererInterface;
use Symfony\Component\Console\Application;
use Symfony\Component\Console\Command\Command;
@ -43,7 +42,6 @@ return static function (ContainerConfigurator $containerConfigurator): void {
Application::class,
RectorInterface::class,
TypeToCallReflectionResolverInterface::class,
PropertyTypeInfererInterface::class,
ParamTypeInfererInterface::class,
ReturnTypeInfererInterface::class,
FileProcessorInterface::class,

View File

@ -2,11 +2,10 @@
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Tests\BetterPhpDocParser\PhpDocInlineHtml\Source\InlineHtmlRector;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
return static function (RectorConfig $rectorConfig): void {
$services = $rectorConfig->services();
$services->set(InlineHtmlRector::class);
};

Some files were not shown because too many files have changed in this diff Show More