8000 Skip excluded tag in container (#710) · rectorphp/rector-symfony@49e65e6 · GitHub
[go: up one dir, main page]

Skip to content

Commit 49e65e6

Browse files
authored
Skip excluded tag in container (#710)
1 parent 900dcbf commit 49e65e6

File tree

4 files changed

+28
-0
lines changed

4 files changed

+28
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
3+
namespace Rector\Symfony\Tests\Configs\Rector\Closure\ServiceSetStringNameToClassNameRector\Fixture;
4+
5+
use Rector\Symfony\Tests\Configs\Rector\Closure\ServiceSetStringNameToClassNameRector\Source\ExcludedService;
6+
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
7+
8+
return static function (ContainerConfigurator $containerConfigurator): void {
9+
$services = $containerConfigurator->services();
10+
11+
$services->set('excluded', ExcludedService::class);
12+
};
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?php
2+
declare(strict_types=1);
3+
4+
namespace Rector\Symfony\Tests\Configs\Rector\Closure\ServiceSetStringNameToClassNameRector\Source;
5+
6+
final class ExcludedService
7+
{
8+
9+
}

rules-tests/Configs/Rector/Closure/ServiceSetStringNameToClassNameRector/xml/services.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,8 @@
55
<service id="second_use" class="Rector\Symfony\Tests\Configs\Rector\Closure\ServiceSetStringNameToClassNameRector\Source\SomeServiceType"></service>
66

77
<service id="some_unique_name" class="Rector\Symfony\Tests\Configs\Rector\Closure\ServiceSetStringNameToClassNameRector\Source\UniqueServiceType"></service>
8+
<service id="excluded" class="Rector\Symfony\Tests\Configs\Rector\Closure\ServiceSetStringNameToClassNameRector\Source\ExcludedService">
9+
<tag name="container.excluded"/>
10+
</service>
811
</services>
912
</container>

src/ValueObjectFactory/ServiceMapFactory.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ public function createFromFileContent(string $configFilePath): ServiceMap
4747
$def = $this->convertXmlToArray($def);
4848
$tags = $this->createTagFromXmlElement($def);
4949

50+
if (in_array('container.excluded', array_column($tags, 'name'), true)) {
51+
continue;
52+
}
53+
5054
$service = $this->createServiceFromXmlAndTagsData($attrs, $tags);
5155
if ($service->getAlias() !== null) {
5256
$aliases[] = $service;

0 commit comments

Comments
 (0)
0