ericlagarda/multilingual-country-list-php5-5

ISO 3166 国家名称和代码的查找对象

1.2.0 2016-05-06 23:53 UTC

This package is auto-updated.

Last update: 2024-09-12 22:49:13 UTC


README

适用于PHP < 5.5.9

SensioLabsInsight Scrutinizer Code Quality Code Coverage Build Status License

这是我从petercoles那里分叉的相同代码,但已修改为支持PHP < 5.5.9

简介

我已经数不清有多少次精心编辑了250多个国家的列表,以创建表单上选择字段所需的数据——这还只是针对一种语言。这个简单的Laravel包装器围绕着许多语言的行业维护的国家名称列表,将这项繁琐的任务和这些列表的持续维护留在了历史垃圾箱中。

该包通过简单的API提供对大量语言和区域设置的国家名称的轻松访问,以及它们的ISO-3166 alpha-2两字母国家代码。

数据可以返回为查找数组或键值对数组,其中键和值的标签可以根据使用它们的软件需求进行设置。

安装

在命令行运行

composer require ericlagarda/multilingual-country-list-php5-5

然后将服务提供者添加到config/app.php文件中的providers条目

    'providers' => [
        // ...
        PeterColes\Countries\CountriesServiceProvider::class,
        // ...
    ],

还有一个可选的门面,可以通过在config/app.php的aliases数组中添加以下内容来启用

'Countries' => PeterColes\Countries\CountriesFacade::class,

用法

安装完成后,该包公开了两个API方法:lookup()和keyValue(),每个方法都返回一个按使用语言的国家名称排序的国家列表。

查找

lookup方法接受两个可选参数:$locale(默认'en')和$flip(默认false),并返回一个集合。如果作为响应返回,则此集合将被Laravel转换为json对象,或者如果需要,可以使用toArray()方法将其转换为数组。

区域可以是语言代码,例如'fr',或完整的区域代码,例如zh_CN。

示例

默认为英语。

Countries::lookup();

// returns

{
  "AF": "Afghanistan",
  ...
  "ZW": "Zimbabwe"
}

flip参数有助于反向查找,例如对于识别值但不支持键的typahead组件,需要稍后获取键。

Countries::lookup('es', true);

// returns

{  
  "Afganistán": "AF",
  ...
  "Zimbabue": "ZW"
}

支持包括区域设置在内的非拉丁字符集

Countries::lookup('zh_CN');

// returns

{
  "AL": "阿尔巴尼亚",
  ...
  "HK": "中国香港特别行政区"
}

keyValue

keyValue方法接受三个可选参数:$locale(默认'en'),$key(默认'key')和$value(默认'value')。

示例

默认仍为英语。

Countries::keyValue();

// returns

[
  {"key": "AF", "value": "Afghanistan"},
  ...
  {"key": "ZW", "value": "Zimbabwe"}
]

如果您需要具有自定义索引的键值列表,则可以使用$key和$value参数来重新定义它们。例如,如果您正在使用一个用于生成选择字段的javascript组件,并且该组件对其接收到的数据中使用的索引有期望,那么这可能就是这种情况。

Countries::keyValue('zh', 'label', 'text');

// returns

[
  {"label": "AL", "text": "阿尔巴尼亚"},
  ...
  {"label": "HK", "text": "中国香港特别行政区"}
]

问题

此包的开发是为了满足特定需求,然后推广到更广泛的使用。如果您有目前尚未满足的使用案例,或看到某些似乎工作不正确的功能,请在github仓库提出问题。

许可

本软件包采用MIT许可