С моей точки зрения, роль контейнера для сделать доступным для всего приложения всю общую логику.
Он действует как замена всем глобальным массивам ($ _REQUEST, $ _GLOBALS и т. д.) глобальным переменным, глобальным константам (в отличие от констант класса, которые остаются полезными), глобальные функции и все такие вещи, которые делают PHP r грязный язык. Он нацелен на то, чтобы сделать PHP полноценным языком ООП, которым он хочет быть.
Он вызывает один, чтобы избежать процедурного программирования, которое PHP все еще допускает, и это хорошо.
Одним словом, вы все еще можете использовать и использовать классы обычным способом. Но всякий раз, когда вы обнаруживаете две части кода или используете одну и ту же логику или повторно используете одну и ту же информацию, обычно это означает, что вы хотите использовать контейнер службы для повторного использования кода.