coolsam / laravel-mongodb-world
使用 jenssegers/laravel-mongodb 为 Laravel 提供基于 mongodb 的国家、州和城市关系数据库
v1.0.1
2018-07-23 13:40 UTC
Requires
- php: >=7.0
- jenssegers/mongodb: ^3.4
- jenssegers/mongodb-session: ^1.2
- laravel/framework: >=5.3.0
Requires (Dev)
- mockery/mockery: ~0.9
- phpunit/phpunit: ~5.0
README
本软件包专注于使用 Jenssegers 的 Laravel-MongoDB 包为 Laravel 提供支持地区设置的全球国家、地区和城市数据库。
概念
本软件包中有 5 个主要对象。
- World:地球。
- Continent:7 大洲
- Country:247 个国家
- Division:如州/省之类的行政区域。
- City:地区级别的最后一层,一些城市直属于国家,一些直属于行政区域。
属性
常用属性
name
:地区通用名称。full_name
:全称或官方名称code
:ISO-3166-1-alpha2/ISO-3166-2 代码local_name
:通用名称的翻译local_full_name
:全称的翻译local_alias
:不同语言的别名local_abbr
:缩写
国家特定属性
emoji
:国家的表情符号旗帜capital
:该国的首都code_alpha3
:ISO-3166-1-alpha3 代码currency_code
:ISO-4177 货币代码,例如 USD、CNYcurrency_name
:ISO-4177 货币名称local_currency_name
:地区货币名称
示例
use Coolsam\World\World; $china = World::getByCode('cn'); $china->setLocale('zh-cn'); $china->name; // China $china->local_name; // 中国 $china->full_name; // People's Republic of China $china->local_full_name; // 中华人民共和国 $china->emoji; // 🇨🇳 $china->callingcode; // 86 $china->code; // CN $china->code_alpha3; // CHN $china->has_division; // true $china->currency_code; // CNY $china->currency_name; // Yuan Renminbi $china->local_currency_name; // 人民币
本地化
目前,仅支持英语(默认和回退)和中文简体 zh-cn
。地区设置遵循 Laravel 项目的设置在 config/app.php
。
##依赖
- 本软件包依赖于 jenssegers/laravel-mongodbhttps://github.com/jenssegers/laravel-mongodb。在继续设置之前,请确保您已完成所有设置步骤并且您的 Laravel 应用程序已与 mongodb 一起工作。
设置
composer require
composer require coolsam/laravel-mongodb-world
- 将服务提供者添加到
config/app.php
'providers' => [ // ... Coolsam\World\WorldServiceProvider::class, ]
- 发布和初始化
php artisan vendor:publish --force --provider="Coolsam\World\WorldServiceProvider" composer dump-autoload php artisan world:init
使用
- 获取所有大洲
use Coolsam\World\World; World::Continents()
- 获取所有国家
use Coolsam\World\World; World::Countries()
- 按代码获取国家
use Coolsam\World\World; Country::getByCode('cn');
- 获取属于某个大洲的国家
use Coolsam\World\Models\Continent; $asia = Continent::getByCode('AS'); $countries = $asia->countries()->get(); // or use children method $countries = $asia->children();
- 获取大洲或父级
$china = Country::getByCode('cn'); $asia = $china->parent();
- 通过国家获取州/省/省份
$china = Country::getByCode('cn'); $provinces = $china->divisions()->get() // or use children method $provinces = $china->children();
- 通过国家或行政区域获取城市
$china = Country::getByCode('cn'); // check has_division to determine next level is division or city. $china->has_division; // true, otherwise is false $regsions = $china->children();
关于
本软件包采用 MIT 许可证发布。如果您有任何疑问或建议,请随时提交问题或给我发邮件 Sam Maosa<maosa.sam(AT)gmail.com>。
祝您成为真正的大数据工匠。