steefdw/standards-enums

“标准枚举”包提供了一种简单且一致的方式来使用枚举与国家、语言、货币和地区进行交互。每个枚举都包含访问相关信息的各种方法,如名称、国旗、描述等。此外,还提供了辅助方法,以便轻松获取所有可能的值或按给定语言的名称对其进行排序。这些方法可以与所有枚举类一起使用,无论它们代表的是语言、国家、货币还是地区。

v0.1.4 2024-09-19 14:22 UTC

This package is auto-updated.

Last update: 2024-09-19 12:24:43 UTC


README

“标准枚举”包提供了一种简单且一致的方式来使用枚举与国家、语言、货币和地区进行交互。

每个枚举都包含访问相关信息的各种方法,如名称、国旗、描述等。此外,还提供了辅助方法,以便轻松获取所有可能的值或按给定语言的名称对其进行排序。这些方法可以与所有枚举类一起使用,无论它们代表的是语言、国家、货币还是地区。

“标准枚举”提供访问各种ISO标准列表的权限

本包中的枚举ISO标准
国家ISO 3166-1
货币ISO 4217
语言ISO 639
地区(非ISO)

本包中的大部分代码都是自动生成的,数据来源于https://salsa.debian.org/iso-codes-team/iso-codes

文档

  • 完整文档:[https://steefdw.gitlab.io/standards-enums](https://steefdw.gitlab.io/standards-enums)
  • 简短文档:本README文件。

安装

composer require steefdw/standards-enums

用法

国家示例

$country = CountryAlpha2::tryFrom('nl'); // CountryAlpha2::NL

$countryName = $country->getName()->value;           // 'Netherlands'
$countryAlpha2 = $countryName->getAlpha2()->value;   // 'nl'
$countryAlpha3 = $countryAlpha2->getAlpha3()->value; // 'NLD'
$countryFlag = $countryAlpha3->getFlag()->value;     // '🇳🇱'
$countryNumber = $countryFlag->getNumeric()->value;  // '528'
$countryCurrencies = $country->getCurrencies();      // ['EUR' => CurrencyName::EUR]

// these methods work for all country Enums

货币示例

$currency = CurrencyName::tryFrom('Euro'); // CurrencyName::EUR

$currencyName = $currency->getName()->value;      // 'Euro'
$currencyAlpha3 = $currency->getAlpha3()->value;  // 'EUR'
$currencyNumber = $currency->getNumeric()->value; // '978'
$currencyCountries = $currency->getCountries();   // [
//    'AD' => CountryName::AD, // Andorra
//    'AT' => CountryName::AT, // Austria
//    'BE' => CountryName::BE, // Belgium
//    ...]

// these methods work for all currency Enums

语言示例

$language = LanguageAlpha2::tryFrom('nl'); // LanguageAlpha2::NLD

$languageName = $language->getName()->value;           // 'Dutch; Flemish'
$languageAlpha2 = $languageName->getAlpha2()->value;   // 'nl'
$languageAlpha3 = $languageAlpha2->getAlpha3()->value; // 'nld'
// these methods work for all language Enums

地区示例

$locale = LocaleCode::tryFromName('nl_BE'); // LocaleCode::NL_BE

$description = $locale->getDescription(); // LocaleDescription::NL_BE
$description->value;                 // 'Dutch (Belgium)'
$locale->getLanguage()->value;       // 'Dutch; Flemish'
$locale->getCountry()->value;        // 'Belgium'
// these methods work for all locale Enums

有关更多信息,请参阅用法页面。

请参阅文档的这些部分,以获取有关如何使用每种枚举类型的更详细信息。

测试

composer test

make test

贡献

  • 确保代码验证成功。您可以使用make validate运行它。
  • 确保所有测试都成功。您可以使用make test运行它们。
  • 确保所有代码都经过测试。

许可证

MIT许可证。请参阅许可证文件以获取更多信息。