Skip to content

[DependencyInjection] PriorityTaggedServiceTrait does not discover decorated AsTaggedItem #60242

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
alex-dev opened this issue Apr 18, 2025 · 0 comments

Comments

@alex-dev
Copy link
Contributor

alex-dev commented Apr 18, 2025

Symfony version(s) affected

^5.3|^6.0|^7.0

Description

Creating decorator around a service with a AsTaggedItem attribute should not change the expected behaviour of any locator or iterator created from it.

How to reproduce

#[AutoconfigureTag('tag')]
interface Tagged {}

#[AsTaggedItem('a')]
class A implements Tagged {}

#[AsDecorator(A::class)]
class Decorator implements Tagged {}

class Test {
  public function __construct(#[TaggedLocator('tag')] ServiceProviderInterface $services) {
    $services->get('a');
  }
}

Possible Solution

  • PriorityTaggedServiceTrait could unwrap services through container.decorator
  • AsTaggedItem could be lifted as a tag that will then be cascaded to the decorator
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants