はじめに
こんにちは。昨日の地震、皆さまご無事でしてでしょうか。自分自身も周りの人も無事でほっとした筆者です
さて、共通で使用したい値をVIewインスタンスにあらかじめセットした際に、あとで取り出して使いたいケースがあったので、方法を共有します(そんなケースあるのか、と思うのですが、あったんです...)。
結論
Controller.php
$data = [];
// Viewインスタンスに共通で値をセット.
view()->share(compact('data'));
// Viewインスタンスから値を取り出す.
$data2 = view()->shared('data');
// Viewインスタンスを返却.
return view('home');
おわりに
上記のような使い方はしないと思います。
私のこれを使用したケースは、親Controllerで共通値をセットして、その値が子コントローラーで上書きされるものの、元の値も必要だったので、取り出して別名でセットし直すケースでした
本当はこの機構になっている構造自体が間違っているのですが、現行機能・構造を踏襲する使命が下っているので止む無く使用しました
もっと平和な使い方をしたいものです