>>882
>ときどきデバッグ用に
>$hoge = 'OtherClass'
>とかって書いちゃってるコードが混入して、結合テストがすごく大変だったトラウマがある。

これはデバッグ用のコードが本番用コードに紛れ込んでいたという話だよね?DI関係なくね?
DIコンテナ使ってても、各自がデバッグ用にconfig.xmlをいじって、それが本番環境に反映されたら同じことだよね。

>あと、依存関係が全然整理されてなくて

依存関係って、例えばどんなの?イメージがわからん。具体例で詳しく。

>何をnewできるのか、何が newされる対象なのかがわからなくて、保守のときに大変だったトラ ウマがある。

これ、DIコンテナで解消できるの?
Javaはclassやinterfaceを使って型を縛れるから、どんなオブジェクトを指定できるかはわかるけど、PHPは変数に型がないから、どんなオブジェクトがくるかは指定できない。
これは言語の仕様によるものであって、DIを導入したからといって変わることはないはずだけど。

>(ドキュメントがあまり書かれてなかったんだよね...)
逆にいえば、ドキュメントを書けば済む話?