Laravelの定数の使い方【現役エンジニアが解説】

PROGRAM

今回は、Laravelの定数の使い方について、簡単に解説していきます。

モデルに定義

Laravelでは定数の定義の仕方はいくつかあります。

class Person extends Model
{
    const GENDER = [
        'NONE' => 0,
        'MALE' => 1,
        'FEMALE' => 2,
    ];
}

上記のようにモデルに定義するケースも見受けられます。

$gender = App\Models\Person::GENDER;

モデルに定義した場合の定数の呼び出し方は上記のようになります。

configに定義

configに定数を定義する方法もあります。

return [
    'GENDER' => [
        'NONE' => 0,
        'MALE' => 1,
        'FEMALE' => 2,
    ],
];

例えば、configディレクトリにconst.phpのようなファイルを作り、上記のように定義します。

$gender = config('const.GENDER');

configディレクトリに作成した場合、config関数を使い、引数にファイル名.定数名で値を取得することが可能です。

クラスを用意して定義

constsディレクトリを作り、さらにそこにPersonConst.php等のファイルを作り、以下のように定数用クラスで定数を定義する方法もあります。

namespace App\Consts;

class PersonConst
{
    const GENDER = [
        'NONE' => 0,
        'MALE' => 1,
        'FEMALE' => 2,
    ],
}

これだけでも定数を呼び出すことはできますが、呼び出しづらいので、config/app.phpのaliasesに作成したものを追記しておくと良いでしょう。

return [
    'aliases' => [
        'PersonConst' =>  App\Consts\PersonConst::class,
    ]
]

config/app.phpのaliasesに追加した場合には、以下のように定数を呼び出すことができるようになり、だらだらと長くならずに済ますことができます。

$gender = \PersonConst::GENDER;