ericlagarda / multilingual-country-list-php5-5
ISO 3166 国家名称和代码的查找对象
Requires
- php: >=5.6.0
- illuminate/support: ~5
Requires (Dev)
- mockery/mockery: ^0.9.4
- phpunit/phpunit: ~5.0
This package is auto-updated.
Last update: 2024-09-12 22:49:13 UTC
README
适用于PHP < 5.5.9
这是我从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许可。