'Yard', self::METER => 'Meter', self::KILOGRAM => 'Kilogram', }; } public function abbreviation(): string { return match ($this) { self::YARD => 'yard', self::METER => 'm', self::KILOGRAM => 'kg', }; } /** * @return list */ public static function values(): array { return array_column(self::cases(), 'value'); } public function minStock(): float { return match ($this) { self::YARD => self::MIN_STOCK_YARD, self::METER => self::MIN_STOCK_METER, self::KILOGRAM => self::MIN_STOCK_KILOGRAM, }; } }