peltonsolutions/laravel-enums

为Laravel模型处理枚举值的自定义包。

1.1.0 2024-03-14 16:11 UTC

This package is auto-updated.

Last update: 2024-09-14 17:26:43 UTC


README

laravel-enums 是 Pelton Solutions 开发的一个包,允许 Laravel 开发者轻松处理枚举值。枚举(简称“枚举”)代表代码中的命名常量集。通过引入枚举,此包显著提高了代码的可读性和可维护性。

此外,您可以选择使枚举字段为可空。要使用此功能,只需让您的枚举类扩展 NullableEnum 类。

示例

class ContentPageStatus extends \PeltonSolutions\LaravelEnums\Models\Enum
{
	const DRAFT = 'draft';
	const SCHEDULED = 'scheduled';
	const PUBLISHED = 'published';
	const ARCHIVED = 'archived';

	public static function map(): array
	{
		return [
			static::DRAFT => trans('content_page.statuses.draft'),
			static::SCHEDULED => trans('content_page.statuses.scheduled'),
			static::PUBLISHED => trans('content_page.statuses.published'),
			static::ARCHIVED => trans('content_page.statuses.archived'),
		];
	}
}
class ContentPage extends Model
{
	protected $casts = [
		'status' => ContentPageStatus::class
	];
}

以下示例演示了您如何在 Laravel 模型中使用枚举。 ContentPageStatus 是一个枚举,表示 ContentPage 可能具有的可能状态值。 ContentPage 模型包含对此枚举的转换,这使输入验证更加健壮,并明确声明了可能的 'status' 值。如果尝试设置不在指定枚举中的值,包会抛出 \PeltonSolutions\LaravelEnums\Models\Exceptions\InvalidEnumValueException 异常。

安装

您可以使用以下命令通过 composer 安装此包

composer require peltonsolutions/laravel-enums

测试

为确保 laravel-enums 运行正常,您可以使用以下命令运行包的测试

composer test

安全

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

鸣谢

许可证

laravel-enums 是开源软件。它根据 MIT 许可证 许可,这是一种许可协议,允许软件的使用、修改和共享。