Я хочу создать собственный драйвер DBAL, который я буду использовать с аргументом «driverClass» в конфигурации DBAL. Это работает, но мой драйвер нуждается в дополнительных классах для работы. Например, ему нужен клиент для кэширования и клиент HTTP (в основном он будет извлекать учетные данные удаленно).
Проблема в том, что в диспетчере драйверов DBAL создается экземпляр класса драйвера без аргументов, поэтому я не могу использовать конструктор для добавления дополнительных сервисов. Я мог бы создать сеттеры, чтобы использовать инъекцию сеттера, но я думаю, что это вызовет проблемы при использовании драйвера, например, в приложениях Symfony.
Все исследованные мной драйверы DBAL используют тесную связь с HTTP-клиентами и другими службами, но я не хочу этого (например, я не хочу принудительно кешировать APCu пользователей).
Есть ли способ заставить это работать?