mindtwo/laravel-enumerable

此包已被弃用,不再维护。作者建议使用 bensampo/laravel-enum 包。

Laravel Enumerable

3.1.0 2020-03-23 14:24 UTC

This package is auto-updated.

Last update: 2020-09-21 16:11:21 UTC


README

Build Status StyleCI Quality Score Latest Stable Version Total Downloads License

安装

您可以通过 composer 安装此包。

composer require mindtwo/laravel-enumerable

如何使用?

设置可枚举对象

此包基于 BenSampo/laravel-enum。请参阅其 文档 以设置您的可枚举对象。

准备 Eloquent 模型

使用此包有两种方式。最简单的方式是扩展此包中提供的 EnumerableModel。

namespace example;

use mindtwo\LaravelEnumerable\Models\EnumerableModel

class exampleModel extends EnumerableModel
{
}

如果您愿意,可以直接在模型中使用 Enumerable 特性。同时确保实现 EnumerableInterface 接口。

namespace example;

use Illuminate\Database\Eloquent\Model;
use mindtwo\LaravelEnumerable\Interfaces\EnumInterface;
use mindtwo\LaravelEnumerable\Models\Traits\Enumerable;


class exampleModel extends Model implements EnumInterface
{
    use Enumerable;
}

配置 Eloquent 模型

要配置可枚举属性,只需设置一个名为 'enums' 的数组属性。键包含属性名称。值设置为要用于该属性的枚举类名称。

namespace example;

use mindtwo\LaravelEnumerable\Models\EnumerableModel

class exampleModel extends EnumerableModel
{
    public $enums = [
        'examle_attribute' => ExampleEnum::class
    ];
}

重要:从版本 1.1.0 开始,$enums 属性必须声明为 public!

现在您可以使用 Laravel 的常规属性设置和填充函数来设置属性值。如果值在给定的枚举对象中未配置,则会抛出 InvalidEnumValueException。

更新日志

请参阅 更新日志 以获取有关最近更改的更多信息。

贡献

请参阅 贡献指南 以获取详细信息。

安全

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

致谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件