Я использую концепцию DI в течение некоторого времени, но теперь я начинаю использовать контейнер для инъекций зависимостей (DIC). Хотя для меня не ясно.
В моей DIC я сохраняю (например) объект Config и объект Request. Я понимаю, что эти объекты в области запроса (тот же самый экземпляр используется каждый раз, когда вы запрашиваете его из этого контейнера) остаются теми же. Но это происходит только при повторном использовании одного и того же экземпляра DIC.
Как мне пройти DIC вокруг моих классов? Скажите, что я хочу использовать его в своем классе Router, мне нужно передать его в конструкторе класса Router? Но класс Router создается в другом классе, и этот должен также иметь этот объект DIC.
Или мне нужно создать синглтон этой DIC?