26 lines
501 B
PHP
26 lines
501 B
PHP
<?php
|
|
|
|
namespace App\Enums\Concerns;
|
|
|
|
trait HasValues
|
|
{
|
|
/**
|
|
* @return array<int, string>
|
|
*/
|
|
public static function values(): array
|
|
{
|
|
return array_column(self::cases(), 'value');
|
|
}
|
|
|
|
/**
|
|
* @return array<int, array{value: string, label: string}>
|
|
*/
|
|
public static function options(): array
|
|
{
|
|
return array_map(fn (self $case) => [
|
|
'value' => $case->value,
|
|
'label' => $case->label(),
|
|
], self::cases());
|
|
}
|
|
}
|