在一个文件Laravel 5.7中定义所有枚举

问题描述 投票:2回答:1

我想创建一个文件来定义我的所有Enumerations,稍后在模型或迁移中使用它们。

因为我在许多模型中都有相同的枚举,我不想每次都重新定义它们。

有什么建议??

laravel laravel-5 eloquent laravel-5.7
1个回答
2
投票

它有一个特殊的包装。它使用起来非常简单。 https://github.com/BenSampo/laravel-enum

创建一个文件夹,通常是App/Enums,然后创建一个按类别或根据需要解耦的类。

<?php

namespace App\Enums;

use BenSampo\Enum\Enum;

final class UserType extends Enum
{
    //Here define your constants
    const Administrator = 0;
    const Moderator = 1;
    const Subscriber = 2;
    const SuperAdministrator = 3;
}

然后,您可以在项目中简单地“使用”此类,并且可以像以下一样轻松访问值:

use App\Enums\UserType;
...

class SomeClass {
...
public function test() {
        return UserType::Moderator; // Returns 1
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.