DI: register rectors prefferable from config

This commit is contained in:
TomasVotruba 2017-09-26 12:06:43 +02:00
parent 3ff6edd59c
commit fbcb7714f1
2 changed files with 12 additions and 8 deletions

View File

@ -4,6 +4,7 @@ namespace Rector\DependencyInjection\Extension;
use Rector\Validator\RectorClassValidator;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Definition;
use Symfony\Component\DependencyInjection\Extension\Extension;
final class RectorsExtension extends Extension
@ -27,15 +28,18 @@ final class RectorsExtension extends Extension
return;
}
$rectors = $configs[0];
$rectorClasses = $configs[0];
$this->rectorClassValidator->validate($rectors);
$this->rectorClassValidator->validate($rectorClasses);
foreach ($rectors as $rector) {
$this->registerRectorIfNotYet($rector); // for custom rectors
// // add to active configuration
// dump($rector);
// die;
foreach ($rectorClasses as $rectorClass) {
$this->registerRector($containerBuilder, $rectorClass); // for custom rectors
}
}
private function registerRector(ContainerBuilder $containerBuilder, string $rectorClass): void
{
$rectorDefinition = new Definition($rectorClass);
$containerBuilder->setDefinition($rectorClass, $rectorDefinition);
}
}

View File

@ -17,7 +17,7 @@ services:
# PSR-4 autodiscovery
Rector\:
resource: '../../src'
exclude: '../../src/{Node/Attribute.php}'
exclude: '../../src/{Node/Attribute.php,Rector}'
# autowire by interface
Rector\Contract\Parser\ParserInterface: