如何绕过symfony services yml中的默认标记

如何绕过symfony services yml中的默认标记,symfony,yaml,Symfony,Yaml,你知道有没有办法避免在yml文件中使用抽象类的默认标记 _defaults: tags: ['controller.service_arguments'] My\Abstract\Class: abstract: true arguments: - '@.....' - '@....' Normal\Class: parent: My\Abstract\Class arguments: - '@...'

你知道有没有办法避免在yml文件中使用抽象类的默认标记

  _defaults:
    tags: ['controller.service_arguments']

  My\Abstract\Class:
    abstract: true
    arguments:
      - '@.....'
      - '@....'

  Normal\Class:
    parent: My\Abstract\Class
    arguments:
      - '@...'
      - '@....'
显然,我在yml文件中有更多的类,我只需要避免一个抽象类的标记

谢谢。

你试过这个吗

_defaults:
    tags: ['controller.service_arguments']

  My\Abstract\Class:
    abstract: true
    tags: [] # <------------ This line
    arguments:
      - '@.....'
      - '@....'

  Normal\Class:
    parent: My\Abstract\Class
    arguments:
      - '@...'
      - '@....'
\u默认值:
标记:['controller.service_参数']
我的\抽象\类:
摘要:没错

标记:[]#
\u默认值
仅适用于当前yaml文件。您可以将抽象类放在另一个yaml文件中,这样它就不会从默认的配置继承

如果所有普通类都共享一个公共前缀,则可以将前缀作为目标,而不是默认值

Namespace\Normal\:
    resource: '../src/Normal'
    tags: ['controller.service_arguments']

Symfony版本?尝试向抽象类添加标记是否会导致错误?是的,这是一个选项。有没有不移动抽象类的解决方案?您是否尝试过@Domagoj solution?