【Laravel】定数を設定してどこからでも同じ値を使う

もくじ

定数を設定

ファイル作成

まず/config/const.phpを作成します。

/config
├── app.php
(略)
├── const.php // 追加
(略)
└── view.php

中身

<?php

/*
|--------------------------------------------------------------------------
| Description
|--------------------------------------------------------------------------
|
| 設定する定数の説明分(無くても可)
|
*/
return [
 //ここに定数を記述
];
  • サンプル
<?php

/*
|--------------------------------------------------------------------------
| Sample 1
|--------------------------------------------------------------------------
|
| サンプル 1
|
*/
return [
  'record' => 10,
];
/*
|--------------------------------------------------------------------------
| Sample 2
|--------------------------------------------------------------------------
|
| サンプル 2
|
*/
return [
  'time' => [
    'avg' => 20,
    'max' => 30,
    'name' => 'hoge',
  ],
];

Controllerで呼び出す

config()ヘルパを使います。

bonoponz.hatenablog.com

  • Sample 1
$recordValue = config('const.record');

引数のconst部分は/config/const.phpの拡張子をとったファイル名です。

例えばもしファイル名を/config/test.phpにしていたらconfig('test.record')と指定します。

  • Sample 2
// オプショナルチェイニングで呼び出せる
$timeValue = config('const.time.avg');

// 配列のまま変数に格納することも可能
$timeValue = config('const.time');
// 各々呼び出すとき
$avg = $timeValue['avg'];
$max = $timeValue['max'];
$name = $timeValue['name'];

bladeで使う

html上で呼び出す

Controllerと同じです。コントローラーを介さず直接定数を呼び出すことができます。

<p>{{ config('const.time.avg') }}</p>

JavaScriptで呼び出す

Controllerから値を渡して、bladeで呼び出します。
直接呼び出す方法があれば是非教えていただきたいです。

やり方は↓

bonoponz.hatenablog.com

参考URL

【Laravel】定数を作って、プロジェクト内で使い回す方法【初心者】