BaseEnum.php 772 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace common\enums;
  3. use common\helpers\ArrayHelper;
  4. /**
  5. * Class BaseEnum
  6. * @package common\enums
  7. * @author jianyan74 <751393839@qq.com>
  8. */
  9. abstract class BaseEnum
  10. {
  11. /**
  12. * @return array
  13. */
  14. abstract public static function getMap(): array;
  15. /**
  16. * @param $key
  17. * @return string
  18. */
  19. public static function getValue($key): string
  20. {
  21. return static::getMap()[$key] ?? '';
  22. }
  23. /**
  24. * @param array $keys
  25. * @return array
  26. */
  27. public static function getValues(array $keys) : array
  28. {
  29. return ArrayHelper::filter(static::getMap(), $keys);
  30. }
  31. /**
  32. * @return array
  33. */
  34. public static function getKeys(): array
  35. {
  36. return array_keys(static::getMap());
  37. }
  38. }
粤ICP备19079148号