clicksend/integration-library-country-names

此软件包最新版本(v1.0.0)没有可用的许可证信息。

将国家名称转换为ISO双字母代码的实用库。

v1.0.0 2022-02-25 06:45 UTC

This package is not auto-updated.

Last update: 2024-09-21 18:03:37 UTC


README

此库是python库 alephdata/countrynames/ 的PHP克隆版。

要求

  • PHP 7.0 及以上版本。
  • 扩展:intl, yaml, mbstring, json。

在PHP 7.07.27.48.1 上进行了测试。

安装

克隆git仓库

$ git clone https://github.com/ClickSend/integration-library-country-names.git

示例

在你的PHP文件中粘贴以下代码。
确保编辑 integration-library-country-names 目录以匹配你的文件结构。
确保目录 integration-library-country-names/lib/data 可写,用于缓存目的。

<?php 

require_once 'integration-library-country-names/lib/CountryNames.php';

use CountryNamesLibrary\CountryNames;

var_dump('DE' == CountryNames::to_code('Germany'));
var_dump('DE' == CountryNames::to_code('Bundesrepublik Deutschland'));
var_dump('DE' == CountryNames::to_code('Bundesrepublik Deutschlan', $fuzzy=true));
var_dump('DE' == CountryNames::to_code('DE'));
var_dump('DEU' == CountryNames::to_code_3('Germany'));

一切设置完毕!要使用此库作为composer包,请参阅以下内容。

作为Composer包使用

首先克隆仓库到你的项目中的vendor目录,然后运行composer autoload-dump命令

$ git clone https://github.com/ClickSend/integration-library-country-names.git   your-project-path/vendor/integration-library-country-names
$ composer autoload-dump
<?php 

require_once 'vendor/autoload.php';

use CountryNamesLibrary\CountryNames;

var_dump('DE' == CountryNames::to_code('Germany'));
var_dump('DE' == CountryNames::to_code('Bundesrepublik Deutschland'));
var_dump('DE' == CountryNames::to_code('Bundesrepublik Deutschlan', $fuzzy=true));
var_dump('DE' == CountryNames::to_code('DE'));
var_dump('DEU' == CountryNames::to_code_3('Germany'));

重新加载数据/删除缓存

如果你更新了data.yaml文件,那么你需要删除缓存以重新加载数据,每次更新都调用此方法一次

CountryNames::_delete_cache();

单元测试

要执行单元测试,请运行以下命令,需要php版本 >= 7.3

composer install 

./vendor/bin/phpunit test