pamil/enum

实现了享元模式的枚举。

v1.0.0 2017-12-19 11:40 UTC

This package is auto-updated.

Last update: 2024-08-29 01:54:26 UTC


README

枚举

此库扩展了 myclabs/php-enum,使其能够通过其标识符(如果使用静态方法创建)来比较枚举。

用法

  1. 需要此包

    $ composer require pamil/enum
  2. 创建您的枚举

    <?php
    
    use Pamil\Enum\Enum;
    
    /**
     * @method static static active()
     * @method static static inactive()
     */
    final class SampleEnum extends Enum
    {
        protected const active = 1;
        protected const inactive = 2;
    }
  3. 通过标识符比较您的枚举

    var_dump(SampleEnum::active() === SampleEnum::active()); // true

注意事项

  • 当通过构造函数创建枚举时,它不起作用

    var_dump(new SampleEnum(1) === SampleEnum::active()); // false
  • 当您反序列化序列化的枚举时,它不起作用

    var_dump(unserialize(serialize(SampleEnum::active())) === SampleEnum::active());