38 lines
796 B
PHP
38 lines
796 B
PHP
<?php
|
|
|
|
namespace App\Module;
|
|
|
|
enum Module: string
|
|
{
|
|
|
|
case BILL = 'bill';
|
|
case COURSE = 'course';
|
|
case EVENT = 'event';
|
|
|
|
public function title(): string
|
|
{
|
|
return match ($this) {
|
|
static::BILL => 'Zahlungs-Management',
|
|
static::COURSE => 'Ausbildung',
|
|
static::EVENT => 'Veranstaltungen',
|
|
};
|
|
}
|
|
|
|
/**
|
|
* @return array<int, array{id: string, name: string}>
|
|
*/
|
|
public static function forSelect(): array
|
|
{
|
|
return array_map(fn ($module) => ['id' => $module->value, 'name' => $module->title()], static::cases());
|
|
}
|
|
|
|
|
|
/**
|
|
* @return array<int, string>
|
|
*/
|
|
public static function values(): array
|
|
{
|
|
return array_map(fn ($module) => $module->value, static::cases());
|
|
}
|
|
}
|