Laravelの定数管理方法

今回は、Laravelにおける定数の管理方法を紹介したいと思います。
各方法とその特徴、用途を以下にまとめます。

.env ファイルを使用する方法(環境変数)

環境ごとに異なる値(APIキー、DB接続情報など)を .env ファイルで管理します。

使用例

API_KEY=abcd1234

コントローラ内などで以下のように使用します。

$apiKey = env('API_KEY');

特徴
環境ごとに値を切り替えやすい(本番・開発など)
APIパスワードなどセキュアな情報をコードにハードコーディングせずにenvファイルに記述をおこない、gitignoreでコミット対象からも除外しておく。
キャッシュされないので変更が即時反映される

config/const.php ファイルを使う方法

独自の設定ファイルを config/const.php のように作成し、アプリ全体で共有したい定数を定義する。

例:config/const.php


return [
    'status' => [
        'active' => 1,
        'inactive' => 0,
        'deleted' => -1,
    ],
    'user_roles' => [
        'admin' => 1,
        'user' => 2,
    ],
];

使用方法:

$status = config('const.status.active'); // 1

特徴
アプリ内の定数をまとめて管理できる
配列構造で柔軟に対応できる
Laravelの php artisan config:cache によって高速アクセスが可能

define() 関数で定義(グローバル定数)

例:
define(‘APP_VERSION’, ‘1.0.0’);

使用方法:
echo APP_VERSION;

特徴・注意点
グローバルスコープで使用できる
Laravelでは基本的に config や env で管理することが多い

Enum を使う(PHP 8.1以上)

概要
PHP 8.1以降で導入された enum を使って型安全な定数を定義できる。

例:
app/Enums/UserStatus.php


enum UserStatus: int {
    case Active = 1;
    case Inactive = 0;
    case Deleted = -1;
}

使用方法:

$status = UserStatus::Active;

特徴
型安全(間違った値の代入を防げる)

木曜日担当:nishida



アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム