omenejoseph / enummanager
一个旨在简化枚举使用的 Laravel 扩展包
dev-master
2022-10-27 06:35 UTC
Requires
- illuminate/support: ^5.5|^6.0|^7.0|^8.0|^9.0
Requires (Dev)
- mockery/mockery: ^1.1
- orchestra/testbench: ~3|~4
- phpunit/phpunit: ^8.0
- sempro/phpunit-pretty-print: ^1.0
This package is auto-updated.
Last update: 2024-09-09 22:16:06 UTC
README
这里应该放置您的描述。请查看 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';
}
这就是您需要设置的所有内容。
可用方法
- 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
如果您有很多枚举,这将非常有用
- 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 了解详情和待办事项列表。
安全
如果您发现任何与安全相关的问题,请通过作者电子邮件联系,而不是使用问题跟踪器。
致谢
许可证
许可证。请参阅 许可证文件 了解更多信息。