In previous applications I've worked on, I've had a single factory class which built my object structure, and all dependencies were passed to each class through its constructor parameters.
I'm now considering using a DIC framework such as Pimple, in which case it seems like you have a global dependency container which would be referenced inside a class' constructor to instantiate its dependency fields.
Am I missing any other viable approaches to doing dependency inversion? What are the pros and cons to each approach? When would you want to use one approach above another?