BenSampo/laravel-enumとphpのenum

思い切って乗り換えてみた結果、今のところBensapoの方が使い勝手が良かったね。
どちらもint型を返してみましたが、以下のようになりました。

enum MyEnum: int {
    case A = 1;
    case B = 2;
}

$enum = MyEnum::A;
// Bensapoの場合
$bool = $enum == 1;           // $bool = true;
// phpの場合
$bool = $enum == 1;           // $bool = false;
$bool = $enum->value == 1;    // $bool = true;

「===」演算子ではfalseで「==」演算子だったらtrueだったら良かったのにね。
あとphpのenumはクラスメソッドを記述はできますが、コールはエラーになります・・・。
そう思うとJavaはしっかりしてたね。

BensapoはLaravel11にも対応したので、もし今、乗り換えを考えるならBensapoをアップデートしている方が良いかもしれません。

投稿者プロフィール

TakaharaRyuji
PAGE TOP