controllerからviewに変数を渡すときに使えるcompact関数を解説します。
ターゲット読者
compact関数について知りたい人
この記事でわかること
compact関数の使い方やメリット
controller?view?
本記事はcontrollerやviewを理解していることを前提としています。
この二つの他にmodelを加えたものをMVCモデルと呼ばれています。
MVCモデルを理解していない人は、まずこちらを読んで理解しておいてください。
MVCモデルについて - Qiita
compact関数とは
変数名とその値から配列を作成する
PHP: compact - Manual
これだけだとよく分からないと思うので、具体的に説明します。
説明
以下のtest()関数は2つとも同じことをやっています。
public function test()
{
$test1 = 'test1';
$test2 = 'test2';
// viewの第2引数で配列を書いている。
return view('test', [
'test1' => $test1,
'test2' => $test2,
]);
}
public function test()
{
$test1 = 'test1';
$test2 = 'test2';
// compact関数だけで書いている。
return view('test', compact('test1', 'test2'));
}
つまり、viewの変数とcontrollerで定義した変数の名前が同じときに、compact関数を使って書くことができます。
比べると、2つ目の方がすっきり書けていることがわかると思います。