Skip to content

Commit 722b523

Browse files
feature #60844 [DependencyInjection] Remove deprecated ContainerBuilder::getAutoconfiguredAttributes() (GromNaN)
This PR was merged into the 8.0 branch. Discussion ---------- [DependencyInjection] Remove deprecated `ContainerBuilder::getAutoconfiguredAttributes()` | Q | A | ------------- | --- | Branch? | 8.0 | Bug fix? | no | New feature? | yes | Deprecations? | no | Issues | #60011 | License | MIT In #60011, the method `ContainerBuilder::getAutoconfiguredAttributes()` has been deprecated and replaced by `getAttributeAutoconfigurators()` to support multiple callbacks per attribute class. Commits ------- 7323657 Remove deprecated ContainerBuilder::getAutoconfiguredAttributes()
2 parents 8d8523c + 7323657 commit 722b523

File tree

4 files changed

+3
-40
lines changed

4 files changed

+3
-40
lines changed

UPGRADE-8.0.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@ DependencyInjection
109109
}
110110
```
111111

112+
* Remove the `ContainerBuilder::getAutoconfiguredAttributes()` method, use `getAttributeAutoconfigurators()` instead to retrieve all the callbacks for a specific attribute class
113+
112114
DoctrineBridge
113115
--------------
114116

src/Symfony/Component/DependencyInjection/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ CHANGELOG
55
---
66

77
* Remove `#[TaggedIterator]` and `#[TaggedLocator]` attributes, replaced by `#[AutowireLocator]` and `#[AutowireIterator]`
8+
* Remove `ContainerBuilder::getAutoconfiguredAttributes()`, replaced by `ContainerBuilder::getAttributeAutoconfigurators()`
89

910
7.4
1011
---

src/Symfony/Component/DependencyInjection/ContainerBuilder.php

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1488,27 +1488,6 @@ public function getAutoconfiguredInstanceof(): array
14881488
return $this->autoconfiguredInstanceof;
14891489
}
14901490

1491-
/**
1492-
* @return array<class-string, callable>
1493-
*
1494-
* @deprecated Use {@see getAttributeAutoconfigurators()} instead
1495-
*/
1496-
public function getAutoconfiguredAttributes(): array
1497-
{
1498-
trigger_deprecation('symfony/dependency-injection', '7.3', 'The "%s()" method is deprecated, use "getAttributeAutoconfigurators()" instead.', __METHOD__);
1499-
1500-
$autoconfiguredAttributes = [];
1501-
foreach ($this->autoconfiguredAttributes as $attribute => $configurators) {
1502-
if (count($configurators) > 1) {
1503-
throw new LogicException(\sprintf('The "%s" attribute has %d configurators. Use "getAttributeAutoconfigurators()" to get all of them.', $attribute, count($configurators)));
1504-
}
1505-
1506-
$autoconfiguredAttributes[$attribute] = $configurators[0];
1507-
}
1508-
1509-
return $autoconfiguredAttributes;
1510-
}
1511-
15121491
/**
15131492
* @return array<class-string, callable[]>
15141493
*/

src/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -842,25 +842,6 @@ public function testMergeAttributeAutoconfiguration()
842842
$this->assertSame([AsTaggedItem::class => [$c1, $c2]], $container->getAttributeAutoconfigurators());
843843
}
844844

845-
/**
846-
* @group legacy
847-
*/
848-
public function testGetAutoconfiguredAttributes()
849-
{
850-
$container = new ContainerBuilder();
851-
$container->registerAttributeForAutoconfiguration(AsTaggedItem::class, $c = static function () {});
852-
853-
$this->expectUserDeprecationMessage('Since symfony/dependency-injection 7.3: The "Symfony\Component\DependencyInjection\ContainerBuilder::getAutoconfiguredAttributes()" method is deprecated, use "getAttributeAutoconfigurators()" instead.');
854-
$configurators = $container->getAutoconfiguredAttributes();
855-
$this->assertSame($c, $configurators[AsTaggedItem::class]);
856-
857-
// Method call fails with more than one configurator for a given attribute
858-
$container->registerAttributeForAutoconfiguration(AsTaggedItem::class, $c = static function () {});
859-
860-
$this->expectException(LogicException::class);
861-
$container->getAutoconfiguredAttributes();
862-
}
863-
864845
public function testResolveEnvValues()
865846
{
866847
$_ENV['DUMMY_ENV_VAR'] = 'du%%y';

0 commit comments

Comments
 (0)