102 lines
3.1 KiB
PHP
102 lines
3.1 KiB
PHP
<?php
|
|
|
|
namespace App\Enums\Sites;
|
|
|
|
use App\Traits\Enums\BaseEnum;
|
|
|
|
enum SpeciesEnum: int
|
|
{
|
|
use BaseEnum;
|
|
|
|
case chicken = 1;
|
|
case turkey = 2;
|
|
case hen = 3;
|
|
case duck = 4;
|
|
case rabbit = 5;
|
|
case guinea_fowl = 6;
|
|
case rooster = 7;
|
|
|
|
/**
|
|
* Optionnal labels definition.
|
|
*
|
|
* @phpstan-ignore-next-line
|
|
*/
|
|
private const LABELS = [
|
|
self::chicken->name => 'Poulet',
|
|
self::turkey->name => 'Dinde',
|
|
self::hen->name => 'Poule',
|
|
self::duck->name => 'Canard',
|
|
self::rabbit->name => 'Lapin',
|
|
self::guinea_fowl->name => 'Pintade',
|
|
self::rooster->name => 'Coq',
|
|
];
|
|
|
|
/**
|
|
* Pictures paths.
|
|
*/
|
|
private const PICTURES = [
|
|
self::chicken->name => 'resources/assets/images/pictos/chicken.jpg',
|
|
self::turkey->name => 'resources/assets/images/pictos/turkey.jpg',
|
|
self::hen->name => 'resources/assets/images/pictos/hen_and_rooster.jpg',
|
|
self::duck->name => 'resources/assets/images/pictos/duck.jpg',
|
|
self::rabbit->name => 'resources/assets/images/pictos/rabbit.jpg',
|
|
self::guinea_fowl->name => 'resources/assets/images/pictos/guinea_fowl.jpg',
|
|
self::rooster->name => 'resources/assets/images/pictos/hen_and_rooster.jpg',
|
|
];
|
|
|
|
/**
|
|
* Get picture path
|
|
*
|
|
* @return string
|
|
*/
|
|
public function picture(): string
|
|
{
|
|
return self::PICTURES[$this->name];
|
|
}
|
|
|
|
/**
|
|
* Alt attributes for pictures.
|
|
*/
|
|
private const ALTS = [
|
|
self::chicken->name => 'Pictogramme pour la catégorie \'poulet\'',
|
|
self::turkey->name => 'Pictogramme pour la catégorie \'dinde\'',
|
|
self::hen->name => 'Pictogramme pour la catégorie \'poule\'',
|
|
self::duck->name => 'Pictogramme pour la catégorie \'canard\'',
|
|
self::rabbit->name => 'Pictogramme pour la catégorie \'lapin\'',
|
|
self::guinea_fowl->name => 'Pictogramme pour la catégorie \'pintade\'',
|
|
self::rooster->name => 'Pictogramme pour la catégorie \'coq\'',
|
|
];
|
|
|
|
/**
|
|
* Get picture alt attribute.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function alt(): string
|
|
{
|
|
return self::ALTS[$this->name];
|
|
}
|
|
|
|
/**
|
|
* Alt attributes for pictures.
|
|
*/
|
|
private const TITLES = [
|
|
self::chicken->name => 'Pictogramme pour la catégorie \'poulet\'',
|
|
self::turkey->name => 'Pictogramme pour la catégorie \'dinde\'',
|
|
self::hen->name => 'Pictogramme pour la catégorie \'poule\'',
|
|
self::duck->name => 'Pictogramme pour la catégorie \'canard\'',
|
|
self::rabbit->name => 'Pictogramme pour la catégorie \'lapin\'',
|
|
self::guinea_fowl->name => 'Pictogramme pour la catégorie \'pintade\'',
|
|
self::rooster->name => 'Pictogramme pour la catégorie \'coq\'',
|
|
];
|
|
|
|
/**
|
|
* Get picture alt attribute.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function title(): string
|
|
{
|
|
return self::TITLES[$this->name];
|
|
}
|
|
}
|