bjerke / laravel-enums
处理 Laravel 中枚举和枚举翻译的辅助函数
v2.1.0
2023-04-29 16:46 UTC
Requires
- php: ^8.1
- illuminate/support: ^8.0 | ^9.0 | ^10.0
README
此包提供了一个特性,其中包含枚举管理和翻译的辅助方法。
重要:从版本 2 开始,此包已重新构建以使用原生 PHP 枚举而不是类常量。因此,现在需要 PHP 8.1。有关详细信息,请参阅 UPGRADE.md。
要求
- PHP 8.1 或更高版本
- 只能与 支持枚举 一起使用
安装
composer require bjerke/laravel-enums
用法
namespace App\Enums; use Bjerke\Enum\HasTranslations; use Bjerke\Enum\UsesTranslations; enum PostStatus: int implements HasTranslations { use UsesTranslations; case DRAFT = 10; case PUBLISHED = 20; case ARCHIVED = 30; }
这将允许您在 Laravel 的翻译文件 enums.php
中定义这些值的翻译版本
// ../resources/lang/en/enum.php use App\Enums\MyEnum; return [ 'post_status' => [ PostStatus::DRAFT->value => 'Draft', PostStatus::PUBLISHED->value => 'Published' PostStatus::ARCHIVED->value => 'Archived' ] ];
然后您就可以这样检索翻译值
PostStatus::DRAFT->translate(); // return translation for this case PostStatus::getTranslations(); // return all translations
还有一个用于检索案例的辅助方法
PostStatus::getCasesAsArray()
- 返回 "枚举键" => "枚举值" 的数组