BitmaskEnum.php 425 B

123456789101112131415161718192021222324
  1. <?php
  2. namespace TestApp\Model\Enum;
  3. use Cake\Database\Type\EnumLabelInterface;
  4. use Cake\Utility\Inflector;
  5. use Tools\Model\Enum\EnumOptionsTrait;
  6. enum BitmaskEnum: int implements EnumLabelInterface
  7. {
  8. use EnumOptionsTrait;
  9. case Zero = 0;
  10. case One = 1;
  11. case Two = 2;
  12. case Four = 4;
  13. /**
  14. * @return string
  15. */
  16. public function label(): string {
  17. return Inflector::humanize(Inflector::underscore($this->name));
  18. }
  19. }