Laravel学習記録 #036 クラスの定数定義を試す
Laravelでクラスの定数定義を試したものをまとめています。
「定数」の扱いをLaravelの標準機能を使ってconfigに設定することがありますが、configで定数を管理するのはなぁ。。て時の別案です。
専用にクラスを作成し、定数を管理します。
定数クラスを試す
クラス作成
app配下にConstsディレクトリを作成し、専用のクラスを配置します。
クラスのメンバ変数として定数を定義します。
/app/Consts/AppConst.php
class AppConst
{
public const HOGE = 'hoge';
public const FOO = 'foo';
public const LIST = [
'key1' => 'val1',
'key2' => 'val2',
];
}
エイリアス登録
クラスの作成ができたら、呼び出しやすいようにエイリアスへ登録します。
config/app.php
'aliases' => Facade::defaultAliases()->merge([
'AppConst' => App\Consts\AppConst::class,
])->toArray(),
呼び出す
コントローラーで呼び出してみます。
public function index()
{
dd( \AppConst::HOGE, \AppConst::FOO, \AppConst::LIST );
}
結果
"hoge"
"foo"
array:2 [▼
"key1" => "val1"
"key2" => "val2"
]
それぞれ確認できました。
連想配列にアクセスするなら
public function index()
{
dd( \AppConst::LIST['key1'] );
}
結果
"val1"
これでいいですね。
使い勝手良さそう。
ただVSCodeでエイリアス登録の記述にエラー線が引かれているのが気になる。。
この記事が気に入ったらサポートをしてみませんか?