Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

Utilities.php 825B

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. namespace App\Enums\Concerns;
  3. trait Utilities
  4. {
  5. public static function caseValues(): array
  6. {
  7. return array_column(static::cases(), 'value');
  8. }
  9. public static function caseNames(): array
  10. {
  11. return array_column(static::cases(), 'name');
  12. }
  13. public static function constantNames(): array
  14. {
  15. $allConstants = array_keys((new \ReflectionClass(static::class))->getConstants());
  16. $caseNames = static::caseNames();
  17. return array_values(array_diff($allConstants, $caseNames));
  18. }
  19. public static function constantValues(): array
  20. {
  21. $allConstants = array_values((new \ReflectionClass(static::class))->getConstants());
  22. $caseValues = static::caseValues();
  23. return array_values(array_diff_key($allConstants, $caseValues));
  24. }
  25. }