IDEの補完機能は便利です。複雑なオブジェクトのプロパティ、メソッドを網羅し、入力をサポートしてくれます。
これは変数の型を推論することと型の内容を把握することによって実現されています。ここでforeachを使った場合、次の様になる時があります。
静止画のためわかりにくいですが、予測が出来なくなっています。これは推論が不能になったため起こっています。型推論の主な道筋はそれを導くために用いられた関数、演算子などによる型の連想です。ここで起こっていることはarrayの中に入っている値の型が推論できない、ということです。これを解決するためにPHPDocによる型の説明を用いることが出来ます。
/** @var Members $member */
このPHPDocコメントを書くことによって$memberはMembers型であるとIDEに示すことができ、IDEは型による補完機能を動かしてくれました。