Чтобы расширить этот вопрос для других.
_instanceof
функционирует идентично определению _defaults
. При этом определение _instanceof
относится только к файлу, в котором оно используется.
Это предотвращает влияние сторонних определений комплектов на все приложение, например:
_defaults:
public: true
autowire: false
_instanceof:
Psr\Log\LoggerAwareInterface:
- method: setLogger
arguments:
- '@custom_logger'
tags:
- { name: monologer.log, channel: 'custom_channel' }
Поэтому, если служба, которую вы пытаетесь пометить _instanceof
, не объявлена в том же файле services.yml
, тег не будет добавлен.
Чтобы пометить службы, которые реализуют Интерфейс во всем приложении, вам нужно будет использовать метод , предоставленный @ Jeroen