PR

【PHP】compact関数とは?使い方を解説します

アイキャッチ画像

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つ目の方がすっきり書けていることがわかると思います。