65 lines
1.1 KiB
PHP
65 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Enums;
|
|
|
|
use Kwaadpepper\Enum\BaseEnum;
|
|
|
|
/**
|
|
* @method static self g()
|
|
* @method static self kg()
|
|
* @method static self ton()
|
|
*/
|
|
final class WeightUnit extends BaseEnum
|
|
{
|
|
/**
|
|
* Enum values
|
|
*
|
|
* @return array
|
|
*/
|
|
protected static function values(): array
|
|
{
|
|
return [
|
|
'g' => 'G',
|
|
'kg' => 'KG',
|
|
'ton' => 'T',
|
|
];
|
|
}
|
|
|
|
/**
|
|
* Enum labels
|
|
*
|
|
* @return array
|
|
*/
|
|
protected static function labels(): array
|
|
{
|
|
return [
|
|
'g' => __('Gramme'),
|
|
'kg' => __('Kg'),
|
|
'ton' => __('Tonne'),
|
|
];
|
|
}
|
|
|
|
/**
|
|
* conversion values
|
|
* base kg()
|
|
*
|
|
* @return array
|
|
*/
|
|
public static function convert(): array
|
|
{
|
|
return [
|
|
'G' => 0.001,
|
|
'KG' => 1,
|
|
'T' => 1000,
|
|
];
|
|
}
|
|
|
|
/**
|
|
* Output the value as a string
|
|
* @return string
|
|
*/
|
|
public function __toString(): string
|
|
{
|
|
return (string)$this->label;
|
|
}
|
|
}
|