Как обойти теги по умолчанию в сервисах Symfony yml - PullRequest
0 голосов
/ 06 ноября 2019

Знаете ли вы, есть ли способ избежать тега _default для абстрактного класса в файле yml?

  _defaults:
    tags: ['controller.service_arguments']

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

  Normal\Class:
    parent: My\Abstract\Class
    arguments:
      - '@...'
      - '@....'

Очевидно, у меня есть еще много классов в файле yml, мне нужно избегать тега длятолько один абстрактный класс.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 06 ноября 2019

_default работает только для текущего файла yaml. Вы можете поместить свой абстрактный класс в другой файл yaml, чтобы он не наследовал конфигурацию _default.

Если все ваши обычные классы имеют общий префикс, вы можете указать префикс вместо _default, например:

Namespace\Normal\:
    resource: '../src/Normal'
    tags: ['controller.service_arguments']
0 голосов
/ 06 ноября 2019

Вы пробовали это?

_defaults:
    tags: ['controller.service_arguments']

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

  Normal\Class:
    parent: My\Abstract\Class
    arguments:
      - '@...'
      - '@....'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...