【laravel】laravel-enum を使ってlaravelでenumを実装する
なにこれ
laravelでenumを実装したいと思いました。調べてみると、php8.1からphpにenumの機能が実装されたとか…
ただ、enumを実装するためにphpのバージョンを上げるのもコスパ悪いし…
そんな時にlaravelではlaravel-enum
というライブラリでenumが実装することができます。
今回は、laravel-enumでのenumの実装方法をご紹介していきます。
実装
- laravel-enumのインストール
- enumファイルを作成
1 laravel-enumのインストール
以下コマンドでlaravel-enumをインストールします
composer require bensampo/laravel-enum
laravel-enumのGithubにも記述されているように、最新版はlaravel9以上が対象になっています。
それ以下のバージョンでは、laravel-enumのバージョンを落としてインストールする必要があります。
GithubのREADMEでは全てのバージョンのコマンドが同じになっているのですが、それだと最新版がインストールされてしまうので、明示的にバージョンを指定してインストールする必要があります。
以下は、バージョン4.0をインストールするコマンドになります。
composer require bensampo/laravel-enum:"4.0"
2 enumのファイルを作成
以下コマンドでenum用のファイルを作成します。
php artisan make:enum ファイル名
以下は、作成されたファイルにenumを設定した例になります。
<?php
namespace App\Enums;
use BenSampo\Enum\Enum;
final class RadioStationType extends Enum . . . ①
{
const NIPPONBROADCASTING = 0;
const NIPPONCULTUREBROADCASTING = 1;
const TOKYOFM = 2;
}
①クラス内に定数としてenumを設定します。
これでenumのファイルは完成です。
以上でenumを使用することができます。
以下使用例です。
$station = RadioStationType::NIPPONBROADCASTING();
$station->key
// NIPPONBROADCASTING
$station->value
// 0
そのほかにも使い方は様々なので、気になった方はGithubを見てみてください。
以上!!!!!!!