Laravelで定数を使う方法
コントローラーだけでなく、Bladeからも使える定数を設定する方法
いろいろあるみたいだけど、普段使っている方法
定数ファイルを作る
定数ファイルを作成します。
1 2 3 |
app └ Consts └ HogeConst.php |
フォルダのConstsは、分かり易い名前にしました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php namespace App/Consts; class HogeConst { const HOGE_NONE = 0; const HOGE_OK = 1; const HOGE_ROLE = [ 0 => 'viewer', 1 => 'editor', 2 => 'admin', ]; const HOGE_LIST = [ 'no' => 0, 'ok' => self::HOGE_OK, ]; } |
エイリアスの設定
次にエイリアスに追加します。
1 2 3 |
app └ config └ app.php |
これはLaravelにあるファイルです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php /* かなり省略 */ return [ 'aliases' => [ 'App' => Illuminate\Support\Facades\App::class, 'Arr' => Illuminate\Support\Arr::class, /* ここも省略 */ 'HogeConst' => App\Consts\HogeConst::class, // ここに追加します。 ]; |
定数ファイルをエイリアスに登録したら、あとは呼び出して使うだけ
コントローラーで使う
1 2 3 4 5 6 7 |
// ループ内で定数を使う foreach(HogeConst::HOGE_ROLE as $key => $value){ /* 実際の処理 */ } |
Blade(ブレイド)から使う
1 2 3 4 5 6 7 8 9 10 11 12 |
<!-- セレクトボックスの選択肢で使う --> <select name="role" class="form-control"> <option value="">選択してください</option> @foreach (HogeConst::HOGE_ROLE as $key => $value) <option value="{{$key}}">{{$value}}</option> @endforeach </select> |