raid/core-enum

Raid 核心枚举

dev-main 2024-02-01 18:21 UTC

This package is auto-updated.

Last update: 2024-09-30 19:40:17 UTC


README

此包负责处理系统中的所有枚举。该包使用 archtechx/enums 包作为枚举的基础。

安装

composer require raid/core-enum

配置

php artisan core:publish-enum

使用

class PostController extends Controller
{
    /**
     * Invoke the controller method.
     */
    public function __invoke(Request $request): JsonResponse
    {
        $adminType = UserTypeEnum::ADMIN;

        $guestType = UserTypeEnum::GUEST;

        $userType = UserTypeEnum::USER;

        $userTypeConstants = UserTypeEnum::constants();

        $hasAdminConstant = UserTypeEnum::hasConstant('ADMIN');
    }
}

如何使用

让我们创建我们的 const enum 类,并优先使用类,因为它们是可扩展的。

您可以使用此命令创建枚举类。

php artisan core:make-enum UserTypeEnum
<?php

namespace App\Models\Enums;

use Raid\Core\Enum\Models\Enum;

class UserTypeEnum extends Enum
{
}

让我们添加我们的常量。

<?php

namespace App\Models\Enums;

use Raid\Core\Enum\Models\Enum;

class UserTypeEnum extends Enum
{
    public const ADMIN = 'admin';

    public const GUEST = 'guest';

    public const USER = 'user';
}

案例枚举

您可以使用此命令创建案例枚举类。

php artisan core:make-case-enum UserTypeEnum
<?php

namespace App\Models\Enums;

use Raid\Core\Enum\Traits\Enum\CaseEnum;

enum UserTypeEnum
{
    use CaseEnum;
}

让我们添加我们的常量。

<?php

namespace App\Models\Enums;

use Raid\Core\Enum\Traits\Enum\CaseEnum;

enum UserTypeEnum: string
{
    use CaseEnum;
    
    case ADMIN = 'admin';
    
    case USER = 'user';
    
    case GUEST = 'guest';
}

您可以像使用 archtechx/enums 类一样使用此类。



常量枚举

您可以使用此命令创建常量枚举类。

php artisan core:make-cont-enum UserTypeEnum
<?php

namespace App\Models\Enums;

use Raid\Core\Enum\Traits\Enum\ContEnum;

enum UserTypeEnum
{
    use ContEnum;
}

让我们添加我们的常量。

<?php

namespace App\Models\Enums;

use Raid\Core\Enum\Traits\Enum\ContEnum;

enum UserTypeEnum: string
{
    use ContEnum;
    
    case ADMIN = 'admin';
    
    case USER = 'user';
    
    case GUEST = 'guest';
}

您可以使用这些方法来处理常量枚举。

  • UserTypeEnum::constants() 获取所有常量作为数组。
  • UserTypeEnum::hasConstant('ADMIN') 检查常量是否存在。

就是这样。

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。

鸣谢

安全

如果您发现任何与安全相关的问题,请通过电子邮件而不是使用问题跟踪器。

关于 Raid

Raid 是由 Mohamed Khedr 创建的 PHP 框架,由 Mohamed Khedr 维护。

支持 Raid

Raid 是一个 MIT 许可的开源项目。这是一个独立项目,其持续开发得以实现。