Дополнительные аргументы для пользовательских драйверов DBAL - PullRequest
0 голосов
/ 25 апреля 2020

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

Проблема в том, что в диспетчере драйверов DBAL создается экземпляр класса драйвера без аргументов, поэтому я не могу использовать конструктор для добавления дополнительных сервисов. Я мог бы создать сеттеры, чтобы использовать инъекцию сеттера, но я думаю, что это вызовет проблемы при использовании драйвера, например, в приложениях Symfony.

Все исследованные мной драйверы DBAL используют тесную связь с HTTP-клиентами и другими службами, но я не хочу этого (например, я не хочу принудительно кешировать APCu пользователей).

Есть ли способ заставить это работать?

...