ldc-groupe/app/Enums/YearsEnum.php
2026-02-11 09:15:43 +01:00

62 lines
1.5 KiB
PHP

<?php
namespace App\Enums;
use Uwil\LaravelCommon\Traits\Enums\BaseEnum;
enum YearsEnum: int
{
use BaseEnum;
case fourteen = 1;
case fifteen = 2;
case sixteen = 3;
case seventeen = 4;
case eighteen = 5;
case nineteen = 6;
case twenty = 7;
case twenty_one = 8;
case twenty_two = 9;
case twenty_three = 10;
case twenty_four = 11;
case twenty_five = 12;
case twenty_six = 13;
/**
* Optionnal labels definition.
*
* @phpstan-ignore-next-line
*/
private const LABELS = [
self::twenty_six->name => '2026/2027',
self::twenty_five->name => '2025/2026',
self::twenty_four->name => '2024/2025',
self::twenty_three->name => '2023/2024',
self::twenty_two->name => '2022/2023',
self::twenty_one->name => '2021/2022',
self::twenty->name => '2020/2021',
self::nineteen->name => '2019/2020',
self::eighteen->name => '2018/2019',
self::seventeen->name => '2017/2018',
self::sixteen->name => '2016/2017',
self::fifteen->name => '2015/2016',
self::fourteen->name => '2014/2015',
];
/**
* Optional factory from label.
*
* @param string $label
* @return self
*/
public static function makeFromLabel(string $label): ?self
{
foreach (self::cases() as $case) {
if ($case->label() === $label) {
return $case;
}
}
return null;
}
}