- У меня есть две службы: PasswordSetter100 и PasswordSetter200, обе реализующие PasswordSetterInterface.
- Эти службы следуют внутреннему соглашению об именах, и правильная реализация выбирается динамически в зависимости от контекста.
- Я использую фабрика ByTenantFactory, которая зависит от контейнера и решает, какую реализацию использовать на основе определенных переменных.
Вот конфигурация сервиса, которая, по моему мнению, подойдет:
Код: Выделить всё
services:
PasswordSetterInterface:
factory: ['@ByTenantFactory', 'create']
ByTenantFactory:
class: App\Factory\ByTenantFactory
arguments:
- '@service_container'
# All controllers are autowired services
Это есть ли способ заставить это работать без явного указания, какую реализацию использовать в конфигурации служб?
Подробнее здесь: https://stackoverflow.com/questions/791 ... plementati
Мобильная версия