simedkom/app/Enums/MediaType.php
2025-12-04 15:27:22 +07:00

35 lines
713 B
PHP

<?php
namespace App\Enums;
use App\Traits\Enum\WithComment;
use App\Traits\Enum\WithValue;
enum MediaType: int
{
use WithComment, WithValue;
case ONLINE = 1;
case PRINT = 2;
case RADIO = 3;
case TELEVISION = 4;
public function label()
{
return match ($this) {
self::ONLINE => 'Online',
self::PRINT => 'Cetak',
self::RADIO => 'Radio',
self::TELEVISION => 'Televisi',
};
}
public static function options(): array
{
return array_combine(
array_map(fn ($status) => $status->value, self::cases()),
array_map(fn ($status) => $status->label(), self::cases())
);
}
}