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:
i
$di->get('UserA');
$di->get('UserB');