0
1

Laravelでcompact関数を使う意味

Posted at

はじめに

最近Laravelの学習を始めたのですが、コントローラからビューへ変数を受け渡す時によく使うcompact関数の具体的な働きがわからなかったので調べました。

compact関数とは

引数で指定した変数名をキーとして、その変数の値を値とする連想配列を作成します。
Laravel独自のものでなく、PHPの組み込み関数です。
Laravelでは、コードをより簡潔で読みやすくするために使用されることが多いようです。

具体的な動き

<?php
$bikes = ['Cannondale', 'Cervélo', 'Colnago'];
print_r(compact('bikes'));
  // ['bikes' => ['Cannondale', 'Cervélo', 'Colnago']]

このように、compact('bikes')とすると、$bikesという変数が存在する場合にその変数をキー'bikes'として連想配列に変換します。

Laravelでの使用例

compact関数を使用しない場合
class ExampleController extends Controller
{
    public function show() {
        $name = 'Richard CARAPAZ';
        $team = 'EF Education - EasyPost';
        $bike = 'Cannondale';
        
        return view('example', ['name' => $name, 'team' => $team, 'bike' => $bike]);
    }
}
compact関数を使用する場合
class ExampleController extends Controller
{
    public function show() {
        $name = 'Richard CARAPAZ';
        $team = 'EF Education - EasyPost';
        $bike = 'Cannondale';
        
        return view('example', compact('name', 'team', 'bike'));
    }
}

このように、compact関数を使うことでコードが簡潔になり読みやすくなります。
また、渡す変数が増えた場合でもリストを追加するだけで済むため、メンテナンス性も向上します。

おわりに

Laravelにおいて、compact関数にはコードの可読性や保守性を高めるという重要な役割があることを知りました。
今後はそのことも意識しながら利用していこうと思います。

0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1