Пусть это и выглядит как массив. По сути твои зависимости запрашивают активно нужные для них зависимости по какому-то неведомому откуда-то взявшемуся ключу, тем и плох Service Locator. Во-первых(не так важно, но все же), не декларируешь интерфейсы входящих зависимостей, во-вторых (важно), классы запрашивают свои зависимостями, а не пассивно их ожидают. В-третьих(важно), ты пустил лапы контейнера во все классы приложения, попробуй те классы, что ты модифицировал завести под PHP DI, я сомневаюсь, что это будет легко.
Вообще почитай http://sergeyteplyakov.blogspot.com/2013/0...ce-locator.html.
Критиковать меня на протяжении уймы страниц и называть мой контейнер поделкой, когда твой контейнер не может внедрять зависимости без использования сервис локатора, ну это только ты можешь.

Ладно это не столь важно, но показатель того как ты "хорошо" разбираешься в теме.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации