Какой вариант внедрения зависимостей лучше выбрать?
В Slim использую контейнеры для внедрения зависимостей. Насколько я понял есть 2 варианта. 1. Создаем главный контроллер, остальные его наследуют. В главный контроллер передаем весь контейнер, а из дочерних уже выводим то что нам нужно. Способ удобный, но мне кажется расточительный.
2. В каждый класс передаем не весь контейнер, а только то что нам нужно. Мне кажется этот способ более рациональный, но можно запутаться.
Вопрос если я выберу первый вариант, насколько это отразится на расходовании ресурса, производительности итд? Рационально ли так делать на небольших проектах?