omenejoseph/enummanager

一个旨在简化枚举使用的 Laravel 扩展包

dev-master 2022-10-27 06:35 UTC

README

Latest Version on Packagist Total Downloads Build Status StyleCI

这里应该放置您的描述。请查看 contributing.md 了解待办事项列表。

安装

通过 Composer

$ composer require omenejoseph/enummanager

用法

创建枚举类

$ php artisan make:enum gender_enum

此命令将在应用文件夹的枚举目录中创建一个名为 GenderEnum 的类。此类仅包含您的实际枚举的常量。

<?php

namespace App\Enums;
use OmeneJoseph\EnumManager\EnumManager;


class GenderEnum extends EnumManager
{
   const FOO = 'foo';
   const BAR = 'bar';
}

将类中的占位符常量替换为所需的实际枚举,如下所示

<?php

namespace App\Enums;
use OmeneJoseph\EnumManager\EnumManager;


class GenderEnum extends EnumManager
{
   const MALE = 'male';
   const FEMALE = 'female';
}

这就是您需要设置的所有内容。

可用方法

  1. EnumManager::enumValues()
  • 此函数接受一个枚举类扩展 OmeneJoseph\EnumManager\EnumManager 的类部分作为参数

  • 它返回该类中各种常量的逗号分隔值。

  • 示例用法:验证,如

    <?php
    $validation_array = [
    "name" => ["string", "required"], 
    "gender" => ["required", "in:male,female"]
    ];
    //can now be:
    $validation_array = [
    "name" => ["string", "required"], 
    "gender" => ["required", "in:".EnumManager::enumValues(GenderEnum::class)]
    ];
    

    不要忘记导入类命名空间并使用它们

       OmeneJoseph\EnumManager\Facades\EnumManager
       App\Enums\GenderEnum
    

    如果您有很多枚举,这将非常有用

  1. EnumManager::enumValuesArray()
  • 此函数接受一个枚举类扩展 OmeneJoseph\EnumManager\EnumManager 的类部分作为参数
  • 此函数返回该类中各种常量的数组。
    示例用法:检查特定字符串是否存在于您的枚举列表中
<?php 

$needle = "needle";
if(in_array($needle, EnumManager::enumValuesArray(GenderEnum::class))){
  // cool do stuff
} else {
  // do other stuff
}

不要忘记导入类命名空间并使用它们

```
   OmeneJoseph\EnumManager\Facades\EnumManager
   App\Enums\GenderEnum
```

除了这些方法之外,此库还为您提供了一种整洁的方式来存储和跟踪枚举,这有助于协作,因此相同的枚举不会在不同的类中单独创建。

如果您喜欢使用这个库,请随意给我发邮件,告诉我您想添加的功能。如果您也想做出贡献,请与我联系。

随着更多用例的出现,我们会更新和充实文档。

变更日志

请查看 changelog 了解最近的变化。

测试

$ composer test

贡献

请查看 contributing.md 了解详情和待办事项列表。

安全

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

致谢

许可证

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