self::OO_NAME, "xl" => self::XL_NAME, ]; static final function verifix_name(string $name): string { if (array_key_exists(strtolower($name), self::NAME_MAP)) { $name = self::NAME_MAP[strtolower($name)]; } return $name; } private static function invalid_name(string $name): ValueException { return new ValueException("$name: format CSV invalide"); } static final function get_flavour(string $name): array { switch ($name) { case self::OO_NAME: return self::OO_FLAVOUR; case self::XL_NAME: return self::XL_FLAVOUR; default: throw self::invalid_name($name); } } static final function get_encoding(string $name): string { switch ($name) { case self::OO_NAME: return self::OO_ENCODING; case self::XL_NAME: return self::XL_ENCODING; default: throw self::invalid_name($name); } } }