$container->
registerForAutoconfiguration(MessageHandlerInterface::
class) ->
addTag('messenger.message_handler'
);
$container->
registerForAutoconfiguration(BatchHandlerInterface::
class) ->
addTag('messenger.message_handler'
);
$container->
registerForAutoconfiguration(MessengerTransportFactoryInterface::
class) ->
addTag('messenger.transport_factory'
);
$container->
registerForAutoconfiguration(MimeTypeGuesserInterface::
class) ->
addTag('mime.mime_type_guesser'
);
$container->
registerForAutoconfiguration(LoggerAwareInterface::
class) ->
addMethodCall('setLogger',
[new Reference('logger'
)]);
$container->
registerAttributeForAutoconfiguration(AsEventListener::
class,
static function DChildDefinition
$definition, AsEventListener
$attribute, \ReflectionClass|\ReflectionMethod
$reflector) { $tagAttributes =
get_object_vars($attribute);
if ($reflector instanceof \ReflectionMethod
) { if (isset($tagAttributes['method'
])) { throw new LogicException(sprintf('AsEventListener attribute cannot declare a method on "%s::%s()".',
$reflector->class,
$reflector->name
));
} $tagAttributes['method'
] =
$reflector->
getName();
} $definition->
addTag('kernel.event_listener',
$tagAttributes);
});
$container->
registerAttributeForAutoconfiguration(AsController::
class,
static function DChildDefinition
$definition, AsController
$attribute): void
{ $definition->
addTag('controller.service_arguments'
);
});