🗂️
Laravelのヘルパー関数と定数ファイルを作る
よくプロジェクトレベルで、どこでも使いたいヘルパー関数が欲しい、または、メッセージとかの文字列を定数として定義したいとか、との場面が出てきます。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');
これで定数をきれいに整理できます。
Discussion