Dependency injection containers can be overly complex and allow complex configurations, too much magic.
That is why I kept my container library simple, you read thru all the source in less than 15 minutes.
What I like about it is that it is natural to use composition with classes, it encourages to create classes to divide your application into reusable parts.
And with my library all you do is to put the dependent class in the constructor. My library can without much effort be replaced with normal factory, that is by design.
Warning PHP https://github.com/paketphp/bero