了解作为PHP枚举的ISO标准集

149 阅读1分钟

[PrinsFrank/standards]包是一个作为PHP Enums的标准集合,如ISO3166、ISO4217、ISO639等。具体来说,这个包包括对通用语言ISO代码、国家代码和货币的支持。

例如,[ISO 3166]涉及国家代码标准,如双字母国家代码、三字母绳和字母数字代码。

 // ISO3166_1_Alpha_2::Netherlands
$valueAlpha2 = ISO3166_1_Alpha_2::from('NL');
$valueAlpha2->value; // 'NL'
$valueAlpha2->name; // 'Netherlands'
 
// ISO3166_1_Alpha_3::Netherlands
$valueAlpha2->toISO3166_1_Alpha_3();
// ISO3166_1_Numeric::Netherlands
$valueAlpha2->toISO3166_1_Numeric();
 
// Alpha-3
// ISO3166_1_Alpha_3::Netherlands
$valueAlpha3 = ISO3166_1_Alpha_3::from('NLD');
$valueAlpha3->value; // 'NLD'
$valueAlpha3->name; // 'Netherlands'
 
// Numeric
// ISO3166_1_Numeric::Netherlands
ISO3166_1_Numeric::from('528');
ISO3166_1_Numeric::fromInt(528);
 
$valueNumeric->value; // '528'
$valueNumeric->name; // 'Netherlands'

这个软件包还包括对ISO 4217货币代码的支持。

// Alpha-3
// ISO4217_Alpha3::Euro
$valueAlpha3 = ISO4217_Alpha3::from('EUR');
$valueAlpha3->value; // 'EUR'
$valueAlpha3->name; // 'Euro'
 
// Numeric
// ISO4217_Numeric::Euro
$valueNumeric = ISO4217_Numeric::from('978');
$valueNumeric = ISO4217_Numeric::fromInt(978);
$valueNumeric->value; // '978'
$valueNumeric->name; // 'Euro'

语言支持(ISO 639)是本软件包提供的另一个有用的标准枚举。

// ISO639_1_Alpha_2::Dutch_Flemish
$valueAlpha2 = ISO639_1_Alpha_2::from('nl');
$valueAlpha2->value; // 'nl'
$valueAlpha2->name; // 'Dutch_Flemish'