60 lines
1.5 KiB
PHP
60 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Enums\Ranges;
|
|
|
|
enum PictoEnum : int
|
|
{
|
|
case chicken = 1;
|
|
case duck = 2;
|
|
case turkey = 3;
|
|
case soupchicken = 4;
|
|
case guineafowl = 5;
|
|
case goose = 6;
|
|
|
|
public function label(): string
|
|
{
|
|
return static::getLabel($this);
|
|
}
|
|
|
|
public function image(): string
|
|
{
|
|
return static::getImage($this);
|
|
}
|
|
|
|
public static function getLabel(self $value): string
|
|
{
|
|
return match ($value) {
|
|
self::chicken => __('Chicken'),
|
|
self::duck => __('Duck'),
|
|
self::turkey => __('Turkey'),
|
|
self::soupchicken => __('Soupchicken'),
|
|
self::guineafowl => __('Guineafowl'),
|
|
self::goose => __('Goose'),
|
|
};
|
|
}
|
|
|
|
public static function getImage(self $value): string
|
|
{
|
|
return match ($value) {
|
|
self::chicken => "chicken.png",
|
|
self::duck => "duck.png",
|
|
self::turkey => "turkey.png",
|
|
self::soupchicken => "soupchicken.png",
|
|
self::guineafowl => "guineafowl.png",
|
|
self::goose => "goose.png",
|
|
};
|
|
}
|
|
|
|
public static function getLabels(): array
|
|
{
|
|
$arrayEnum = [];
|
|
foreach (self::cases() as $key => $value) {
|
|
$arrayEnum = array_merge($arrayEnum, [[
|
|
"value" => $value->value,
|
|
"label" => $value->label(),
|
|
"image" => $value->image()
|
|
]]);
|
|
}
|
|
return $arrayEnum;
|
|
}
|
|
}
|