ldc-lionor/app/Enums/CookingModeEnum.php

61 lines
1.3 KiB
PHP
Raw Permalink Normal View History

2023-02-24 15:20:58 +00:00
<?php
namespace App\Enums;
2023-08-28 08:46:47 +00:00
use App\Traits\Enums\BaseEnum;
2023-02-24 15:20:58 +00:00
2023-08-28 08:46:47 +00:00
enum CookingModeEnum: int
2023-02-24 15:20:58 +00:00
{
2023-08-28 08:46:47 +00:00
use BaseEnum;
case withoutCooking = 1;
case oven = 2;
case stove = 3;
case stewpan = 4;
2023-02-24 15:20:58 +00:00
/**
2023-08-28 08:46:47 +00:00
* Enum labels
2023-02-24 15:20:58 +00:00
*
* @return array
2024-09-06 08:30:55 +00:00
* @phpstan-ignore-next-line
2023-02-24 15:20:58 +00:00
*/
2023-08-28 08:46:47 +00:00
private const LABELS = [
self::withoutCooking->name => 'Sans cuisson',
self::oven->name => 'Au four',
2023-09-05 17:15:55 +02:00
self::stove->name => 'À la poêle',
2023-08-28 08:46:47 +00:00
self::stewpan->name => 'En cocotte',
];
2023-02-24 15:20:58 +00:00
/**
2023-08-28 08:46:47 +00:00
* Enum stickers associés
2023-02-24 15:20:58 +00:00
*
* @return array
*/
2023-08-28 08:46:47 +00:00
private const STICKERS = [
self::withoutCooking->name => 'resources/assets/images/cook/logo-stove.svg',
self::oven->name => 'resources/assets/images/cook/logo-stove.svg',
self::stove->name => 'resources/assets/images/cook/logo-stove.svg',
self::stewpan->name => 'resources/assets/images/cook/logo-stove.svg',
2023-08-28 08:46:47 +00:00
];
2023-02-24 15:20:58 +00:00
/**
2023-08-28 08:46:47 +00:00
* Get sticker
2023-02-24 15:20:58 +00:00
*
2023-08-28 08:46:47 +00:00
* @return string
2023-02-24 15:20:58 +00:00
*/
2023-08-28 08:46:47 +00:00
public function sticker(): string
2023-02-24 15:20:58 +00:00
{
2023-08-28 08:46:47 +00:00
return self::STICKERS[$this->name];
2023-02-24 15:20:58 +00:00
}
/**
2023-08-28 08:46:47 +00:00
* Get enum stickers
*
* @return array<string>
2023-02-24 15:20:58 +00:00
*/
2023-08-28 08:46:47 +00:00
public static function toStickers(): array
2023-02-24 15:20:58 +00:00
{
2023-08-28 08:46:47 +00:00
return self::STICKERS;
2023-02-24 15:20:58 +00:00
}
}