Конечно, вы можете пойти в старую школу и просто определить каждую услугу контроллера индивидуально:
# config/services.yaml
Domain\Feature\FeatureController:
tags: ['controller.service_arguments']
Однако, как только вы привыкнете к автоматическому подключению, объяснение каждой службы становится проблемой.В качестве альтернативы вы можете использовать возможность автоконфигурирования для добавления тега контроллера к выбранным классам.Начните с объявления пустого интерфейса, и пусть ваши контроллеры реализуют его:
interface ControllerInterface {}
class SomeController implements ControllerInterface
Затем настройте src / Kernel.php
# src/Kernel.php
class Kernel {
protected function build(ContainerBuilder $container)
{
$container->registerForAutoconfiguration(ControllerInterface::class)
->addTag('controller.service_arguments');
Конечно, это просто решает проблему с контроллером.Вероятно, вы столкнетесь с рядом других проблем, связанных с автопроводкой.