Laravel5系ではViewComposerを使用する事で、view(やelement)と必要なデータ設定処理を切り分ける事が出来る為Controller側からロジックを切り離せる点が魅力です。
但し、下記のように同名の変数を複数箇所で設定した際、意図しない上書きが発生するパターンがある為注意ですね。
※Laravel5.1にて試行。
※ViewComposerは公式にあるようにComposerServiceProviderを作成して設定。
同一viewへ複数ViewComposerから同名変数を設定した場合
ComposerServiceProviderにてViewComposerをview(もしくはincludeしたelement)に設定した順の最後の変数が出力されます(後勝ち)。
同一viewへControllerとViewComposerから同名変数を設定した場合
ViewComposerで設定した変数が出力されます。
viewにはControllerから、 includeしたelementにはViewComposerから同名変数を設定した場合
viewにはControllerから設定した変数、includeしたelementにはViewComposerから設定した変数が別々に出力されます(上書き無し)。
viewとincludeしたelementに、各々別のViewComposerから同名変数を設定した場合
viewとincludeしたelement各々に設定したViewComposerからの変数が別々に出力されます(上書き無し)。