Laravel(6.x) 定数はconfigにまとめる

Laravelに限らずですが、開発をしていると決まった値「定数」が
必要になる場面が必ず発生します
例えば、、住所を入力する画面があったとして都道府県を
プルダウン選択する項目があるとします
利用者は「東京都」「大阪府」など文字で選択しますが
データとして保持するのは都道府県コード(通称 prefecture code)
で持っておくのが望ましいです(データ量、クエリ的にも)
そうすると、東京都は例えば都道府県コード 13 ですが
View側とControllerまたはModel側どちらにも名称とコード値を使うケースが
発生してきます

そういった際にグローバルで扱える定数として持っておき、
どこでも呼び出せるようにしておくと便利です

具体的には プロジェクトフォルダ直下にある configフォルダの配下に
ファイルを作りましょう(既存に追加でもOKです)

configフォルダにファイルを追加

config/constants.php

<?php

return [
    'prefs' => [
        1 => '北海道',
        2 => '青森県',
        3 => '岩手県',
		4 => '宮城県',
// ...割愛
        47 => '沖縄県'
    ],
];

Laravelはconfig配下にファイルを追加するだけで使えるようになります
config配下にフォルダを追加して管理することも可能です

configヘルパを使って利用する

例えば上記で作った値を使いたいとなった場合

controllerで使うケース

class HelloController extends Controller
{
    public function index()
    {
        $prefs = config('constants.prefs');  // ← configヘルパを使って取得
        ...
    }

view(blade)で使うケース

<select id="select-pref" class="select-pref" name="pref">
    <option value="0">- 都道府県選択 -</option>
    @foreach (config('constants.prefs') as $key => $value)
    <option value="{{ $key }}">{{ $value }}</option>
    @endforeach
</select>

上記それぞれのように config()のconfigヘルパ関数を使うことで
フォルダに配置しただけの定数を使うことができます

まとめ

configへの配置とconfigヘルパ関数を使うことで
簡単に定数を設置することができます

サービスの運用が長くなればなるほど、この定数ファイル群が
非常に大きくなりがちです
configフォルダの中であってもフォルダ・ファイルでうまくわけて
より利用しやすい方法を目指してください