🗂️

Laravelのヘルパー関数と定数ファイルを作る

2021/08/09に公開

よくプロジェクトレベルで、どこでも使いたいヘルパー関数が欲しい、または、メッセージとかの文字列を定数として定義したいとか、との場面が出てきます。Laravelでのやり方をメモしておきます。

ヘルパー関数

まずはappフォルダーにファイルを作ります。理論上どこでも良いのですが、分かりやすい場所が良いです。

touch app/Utils/helpers.php

次にどこにも使いたい関数をこのファイルに書き込みます。

<?php

function help() {...}
// ...

その次はcomposer.jsonファイルに、このヘルパーファイルをオートロードするように設定します。

    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/"
        },
        "files": [ // この部分を加える
            "app/Utils/helpers.php"
        ]
    },

最後にオートロードするファイルリストを更新します。

composer dump-autoload

これでヘルパー関数はプロジェクトのどこでも直接呼び出せます。

定数

上記の方法で定数を定義することももちろん可能ですが、別のconfig関数を利用した方法があります。

まずはconfigフォルダーに定数のファイルを作ります。ファイル名は自由です。

touch config/consts.php

次に定数を定義します。

// config/consts.php
<?php

return [
    // usersで使う定数
    'users' => [
        'GENDER_NONE' => 0,
        'GENDER_MAN' => 1,
        'GENDER_WOMAN' => 2,
        'GENDER_LIST' => [
            'gender_none' => 0,
            'gender_man' => 1,
            'gender_woman' => 2,
        ],
    ],
    'MSG' => [
	'ERROR' => [...],
	'INFO' => [...],
    ]
];

これでブレードまたはコントローラなどで、config関数で呼び出せます。configはconfigフォルダーのファイルを探してくれます。

config('consts.users.GENDER_MAN');

これで定数をきれいに整理できます。

GitHubで編集を提案

Discussion