arslanimamutdinov / iso-standard-3166
Requires
Requires (Dev)
- phpstan/phpstan: ^0.12.90
- phpunit/phpunit: ^8.5
- squizlabs/php_codesniffer: 3.6.2
This package is not auto-updated.
Last update: 2024-09-16 08:21:54 UTC
README
此组件提供ISO 3166-1标准的特性 - 根据标准获取国家代码。
安装
composer require arslanimamutdinov/iso-standard-3166
术语和名称
- alpha2 - 两位国家代码(推荐作为通用代码)例如:RU;
- alpha3 - 三位国家代码例如:RUS;
- numericCodes - 数值国家代码例如:643;
- name - 国家名称字符串例如:俄罗斯联邦。
组件部分描述
国家 - ISO 3166-1标准模型,包含属性
- name - 国家名称;
- alpha2 - 国家alpha2代码;
- alpha3 - 国家alpha3代码;
- numericCode - 国家数值代码。
ISO3166 - 类提供了一组用于处理ISO 3166-1标准的函数。
ISO3166Utility - 服务类包装ISO3166(需要实例化类对象)。
国家
表示单个ISO 3166-1标准国家的模型。
getName
public function getName(): string;
返回:ISO 3166-1国家名称。
示例
$country = ISO3166::RU(); $name = $country->getName(); string(18) "Russian Federation"
getAlpha2
public function getAlpha2(): string;
返回:ISO 3166-1国家alpha2代码。
示例
$country = ISO3166::RU(); $alpha2 = $country->getAlpha2(); string(2) "RU"
getAlpha3
public function getAlpha3(): string;
返回:ISO 3166-1国家alpha3代码。
示例
$country = ISO3166::RU(); $alpha3 = $country->getAlpha3(); string(3) "RUS"
getNumericCode
public function getNumericCode(): string;
返回:ISO 3166-1国家数值代码。
示例
$country = ISO3166::RU(); $numericCode = $country->getNumericCode(); string(3) "643"
ISO3166和ISO3166Utility
getAll
/** * @return Country[] */ public static function getAll(): array;
/** * @return Country[] */ public function getAll(): array;
返回:表示为Country实例数组的所有ISO 3166-1国家标准。
示例
$countries = ISO3166::getAll(); $countries = (new ISO3166Utility())->getAll(); { ... [248]=> object(arslanimamutdinov\ISOStandard3166\Country)#251 (4) { ["name":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(8) "Zimbabwe" ["alpha2":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(2) "ZW" ["alpha3":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "ZWE" ["numericCode":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "716" } }
getAllByAlpha2Codes
/** * @param string[] $alpha2Codes * @return Country[] */ public static function getAllByAlpha2Codes(array $alpha2Codes): array;
/** * @param string[] $alpha2Codes * @return Country[] */ public function getAllByAlpha2Codes(array $alpha2Codes): array;
输入
- $alpha2Codes - 国家alpha2代码(字符串数组);
返回:通过给定的alpha2代码搜索表示为Country实例数组的所有ISO 3166-1国家标准,如果没有找到则为空数组。
示例
$countries = ISO3166::getAllByAlpha2Codes(['RU', 'BY']); $countries = (new ISO3166Utility())->getAllByAlpha2Codes(['RU', 'BY']); array(2) { [0]=> object(arslanimamutdinov\ISOStandard3166\Country)#2 (4) { ["name":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(7) "Belarus" ["alpha2":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(2) "BY" ["alpha3":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "BLR" ["numericCode":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "112" } [1]=> object(arslanimamutdinov\ISOStandard3166\Country)#4 (4) { ["name":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(18) "Russian Federation" ["alpha2":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(2) "RU" ["alpha3":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "RUS" ["numericCode":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "643" } }
getAllByAlpha3Codes
/** * @param string[] $alpha3Codes * @return Country[] */ public static function getAllByAlpha3Codes(array $alpha3Codes): array;
/** * @param string[] $alpha3Codes * @return Country[] */ public function getAllByAlpha3Codes(array $alpha3Codes): array;
输入
- $alpha3Codes - 国家alpha3代码(字符串数组);
返回:通过给定的alpha3代码搜索表示为Country实例数组的所有ISO 3166-1国家标准,如果没有找到则为空数组。
示例
$countries = ISO3166::getAllByAlpha3Codes(['RUS', 'BLR']); $countries = (new ISO3166Utility())->getAllByAlpha3Codes(['RUS', 'BLR']); array(2) { [0]=> object(arslanimamutdinov\ISOStandard3166\Country)#4 (4) { ["name":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(7) "Belarus" ["alpha2":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(2) "BY" ["alpha3":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "BLR" ["numericCode":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "112" } [1]=> object(arslanimamutdinov\ISOStandard3166\Country)#5 (4) { ["name":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(18) "Russian Federation" ["alpha2":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(2) "RU" ["alpha3":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "RUS" ["numericCode":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "643" } }
getAllByNumericCodes
/** * @param string[] $numericCodes * @return Country[] */ public static function getAllByNumericCodes(array $numericCodes): array;
/** * @param string[] $numericCodes * @return Country[] */ public function getAllByNumericCodes(array $numericCodes): array;
输入
- $numericCodes - 国家数值代码(字符串数组);
返回:通过给定的数值代码搜索表示为Country实例数组的所有ISO 3166-1国家标准,如果没有找到则为空数组。
示例
$countries = ISO3166::getAllByNumericCodes(['826', '840']); $countries = (new ISO3166Utility())->getAllByNumericCodes(['826', '840']); array(2) { [0]=> object(arslanimamutdinov\ISOStandard3166\Country)#4 (4) { ["name":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(52) "United Kingdom of Great Britain and Northern Ireland" ["alpha2":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(2) "GB" ["alpha3":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "GBR" ["numericCode":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "826" } [1]=> object(arslanimamutdinov\ISOStandard3166\Country)#5 (4) { ["name":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(24) "United States of America" ["alpha2":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(2) "US" ["alpha3":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "USA" ["numericCode":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "840" } }
getAllByNames
/** * @param string[] $names * @return Country[] */ public static function getAllByNames(array $names): array;
/** * @param string[] $names * @return Country[] */ public function getAllByNames(array $names): array;
输入
- $names - 国家名称(字符串数组);
返回:通过给定的名称搜索表示为Country实例数组的所有ISO 3166-1国家标准,如果没有找到则为空数组。
示例
$countries = ISO3166::getAllByNames(['Sudan', 'Panama']); $countries = (new ISO3166Utility())->getAllByNames(['Sudan', 'Panama']); array(2) { [0]=> object(arslanimamutdinov\ISOStandard3166\Country)#4 (4) { ["name":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(6) "Panama" ["alpha2":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(2) "PA" ["alpha3":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "PAN" ["numericCode":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "591" } [1]=> object(arslanimamutdinov\ISOStandard3166\Country)#5 (4) { ["name":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(5) "Sudan" ["alpha2":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(2) "SD" ["alpha3":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "SDN" ["numericCode":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "729" } }
getRawStandardsData
public static function getRawStandardsData(): array;
public function getRawStandardsData(): array;
返回:表示为原始数组的所有ISO 3166-1国家标准。
示例
$countriesRawData = ISO3166::getRawStandardsData(); $countriesRawData = (new ISO3166Utility())->getRawStandardsData(); { ... [246]=> array(4) { ["name"]=> string(5) "Yemen" ["alpha2"]=> string(2) "YE" ["alpha3"]=> string(3) "YEM" ["numericCode"]=> string(3) "887" } [247]=> array(4) { ["name"]=> string(6) "Zambia" ["alpha2"]=> string(2) "ZM" ["alpha3"]=> string(3) "ZMB" ["numericCode"]=> string(3) "894" } [248]=> array(4) { ["name"]=> string(8) "Zimbabwe" ["alpha2"]=> string(2) "ZW" ["alpha3"]=> string(3) "ZWE" ["numericCode"]=> string(3) "716" } }
getByAlpha2
public static function getByAlpha2(string $alpha2): ?Country;
public function getByAlpha2(string $alpha2): ?Country;
输入
- $alpha2 - 国家alpha2代码(字符串);
返回:通过给定的alpha2代码搜索表示为Country实例的ISO 3166-1国家标准,如果没有找到则为null。
示例
$country = ISO3166::getByAlpha2('RU'); $country = (new ISO3166Utility())->getByAlpha2('RU'); object(arslanimamutdinov\ISOStandard3166\Country)#2 (4) { ["name":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(18) "Russian Federation" ["alpha2":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(2) "RU" ["alpha3":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "RUS" ["numericCode":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "643" }
getByAlpha3
public static function getByAlpha3(string $alpha3): ?Country;
public function getByAlpha3(string $alpha3): ?Country;
输入
- $alpha3 - 国家alpha3代码(字符串);
返回:通过给定的alpha3代码搜索表示为Country实例的ISO 3166-1国家标准,如果没有找到则为null。
示例
$country = ISO3166::getByAlpha3('RUS'); $country = (new ISO3166Utility())->getByAlpha3('RUS'); object(arslanimamutdinov\ISOStandard3166\Country)#2 (4) { ["name":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(18) "Russian Federation" ["alpha2":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(2) "RU" ["alpha3":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "RUS" ["numericCode":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "643" }
getByNumericCode
public static function getByNumericCode(string $numericCode): ?Country;
public function getByNumericCode(string $numericCode): ?Country;
输入
- $numericCode - 国家数值代码(字符串);
返回:通过给定的数值代码搜索表示为Country实例的ISO 3166-1国家标准,如果没有找到则为null。
示例
$country = ISO3166::getByNumericCode('643'); $country = (new ISO3166Utility())->getByNumericCode('643'); object(arslanimamutdinov\ISOStandard3166\Country)#2 (4) { ["name":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(18) "Russian Federation" ["alpha2":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(2) "RU" ["alpha3":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "RUS" ["numericCode":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "643" }
国家函数
Alpha2命名国家函数通过单次调用获取国家标准。
返回:表示为Country实例的ISO 3166-1国家标准。
$country = ISO3166::RU(); $country = ISO3166::US(); $country = (new ISO3166Utility())->RU(); $country = (new ISO3166Utility())->US(); object(arslanimamutdinov\ISOStandard3166\Country)#3 (4) { ["name":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(18) "Russian Federation" ["alpha2":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(2) "RU" ["alpha3":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "RUS" ["numericCode":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "643" } object(arslanimamutdinov\ISOStandard3166\Country)#3 (4) { ["name":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(24) "United States of America" ["alpha2":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(2) "US" ["alpha3":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "USA" ["numericCode":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "840" }
贡献
欢迎提交拉取请求。如果有重大更改,请首先打开一个问题进行讨论。
请确保根据需要更新测试。
代码覆盖率信息
覆盖率信息位于README文件顶部。