Измененный вариант Symfony DI контейнера.
Некоторые возможности:
- повышение изоляции ваших классов (как следствие, надежность кода и его повторное использование)
- удобная настройка сервисов в удобном для вас виде (YAML, XML)
- автоматическая компиляция в PHP классы
- "Ленивая" загрузка и компиляция
DI контейнер - паттерн проектирования из области ООП. В отличие от простых паттернов (типа Singleton, Фабрика, Адаптер) DI имеет имеет более сложную структуру. От части, по этому он не получил широкого распространения в PHP.
Рекомендую к ознакомлению.
Описание работы с контейнером заслуживает ряда статей, ссылки на которые вы найдете в архиве.
Пользоваться контейнеров очень просто. Однако, вы должны знать ООП, его принципы и основные паттерны.