А раньше был return new static() и обработка всего этого делалась в конструкторе.
Кто-нибудь может объяснить, в чём принципиальная разница?
Вообще сервисы именно так и делают - ты похоже путаешь сервисы с плагинами и контроллерами, у которых как раз необходим статический container injection
суть в том, что если мы возьмём и сгенерируем одной и той же командой одну и ту же заготовку кода на проекте, который обновили вчера и на проекте, который обновили полгода назад, то код будет выглядеть по-разному
Кинь ссыль, мне кажется, что ты путаешь инжекции - есть сеттеры и параметры, и новый вариант немного правильнее с точки зрения обратной совместимости конструкторов