arslanimamutdinov/iso-standard-3166

v1.0.2 2022-03-20 20:22 UTC

This package is not auto-updated.

Last update: 2024-09-16 08:21:54 UTC


README

Code Coverage Badge

此组件提供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文件顶部。

来源(s)