はじめに
こんにちは。先日、実家に眠ってた、Windows 98
のノートパソコンとWindows XP
のデスクトップPCを浜屋に持って行って、合計1,500円で買い取っていただいた筆者です
さて、Webサイトの構築をしているのですが、サイトのヘッダーとかフッターに使う値をDBから取得するケースがあります。
その際に親のコントローラーであらかじめViewインスタンスに渡せるので共有します。
こうすることで、子コントローラーのactionまで値を引き回さないで済みます
これでいけます
shareメソッドがあるのでこれに渡せば大丈夫です。
$data = [];
// 1個だけ渡すとき
view()->share('data', $data);
// 複数個渡すとき
$data2 = [];
view()->share(compact('data', 'data2'));
おわりに
これ結構便利なんですよね。同じaction内で別のtemplate表示させたいときとかも、あらかじめセットできるので、変数のスコープが短くなって、コード全体の可読性も上がると思います
それでは!