Witam,

Jeśli mam klasę User i w konstruktorze dostaje interfejs jako zależność, np: UserConfigInterface, a ja w aplikacji potrzebuję dwóch instancji klasy User:
- jedna z zależnością DefaultUserConfig implements UserConfigInterface
- drugą z zależnością WeirdUserConfig implements UserConfigInterface

To czy prawidłowym podejściem byłoby utworzenie w DI dwóch instancji klasy User z innymi zależnościami?

np. pod kluczem 'UserA' byłaby pierwsza wersja, a pod kluczem 'UserB' byłaby druga opcja.

Wtedy z DI mogę wyciągać konkretne implementacje na zasadzie:

  1. $di->get('UserA');
i
  1. $di->get('UserB');