Ипатьев, контенер есть, чтобы все модели и виды и все остальное связать с контроллерами заняло строк 70 наверно. Ручное связывание, вроде так называется. Ну и в сам роутер передается этот контейнер. С автовайрингом не получится, потому что некоторые классы принимают скалярные типы.
Есть мнение, что контейнер нужен для хранения общих объектов для всего приложения, соединение с базой и т.п. Вот и задумался как сделать без пихания контроллеров в контейнер.
Благодарю за подробный ответ. Хочу написать свой контейнер, но прочитав несколько статей на эту тему запутался.
Т.е. контроллеры не должны быть в DI? Я делал так, в роутер передавал контейнер, а в контейнере регистрировал все контроллеры, вместо массива с настройками подключения к БД сделал класс с конфигом, все работало, пока я не дошел до пагинации.
Я думал, что объекты, общие для всего приложения регистрируются в сервис-контейнере. Но в чем разница между DI-контейнером и сервис-контейнером не понимаю.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.