我国的资料库查询库;本库主要包含民族、节日、地址库信息的查询;部分数据来源采集自百科以及国家统计局;欢迎收藏欢迎贡献代码;
执行下面命令安装
> composer require slince/china
你可以在这里发现文档;
$china = new China();
$holidayService = $chna->getHoliday();
print_r($holidayService->findAll());
按名称查找节日
$yuandan = $holidayService->find('元旦节'):
echo $yuandan->getDate(); //输出 1月1日
$china = new China();
$nationalityService = $chna->getNationality();
print_r($nationalityService->findAll());
按名称查找
$hezhe = $nationalityService->find('赫哲族'):
echo $hezhe->getPinyin(); //输出“hè zhé zú”
echo $hezhe->getPopulation(); //输出人口
$china = new China();
$regionService = $china->getRegion();
print_r($regionService->getProvinces()); //获取树形省市县地区结构
按名称查找地区
$bengbushi = $regionService->findByName('蚌埠市');
echo $bengbushi->getParent()->getName(); //输出蚌埠市所属省, 安徽省
查询身份证所在地
$huaiyuan = $regionService->findByIdCard('340321199212026972');
地区链功能
通过AddressInterface
的getParent()
和getChildren()
方法你可以自由地查找当前地区的上级或者下级地区,下级地区集合是RegionCollectionInterfaec
实例;
$yuhuiqu = $bengbushi->getChildren()->findByName('禹会区'); //蚌埠市下属禹会区
$yuhuiqu->getParent()->getChildren()->findByName('淮上区'); //禹会区同级淮上区
Json Serialize
$bengbushi = $regionService->findByName('蚌埠市');
echo json_encode($bengbushi);
上述代码会输出蚌埠市及其下属地区的完整的json树形结构;如果你不需要的话下级地区的话请将children设置为空
$bengbushi = $regionService->findByName('蚌埠市');
$bengbushi = clone $bengbushi; //此处需要克隆对象,如果直接修改会破坏原有的地区树结构
$bengbushi->setChildren([]);
echo json_encode($bengbushi);
建议:在电商系统中城市县三级地区联动的数据可以使用此方法获取,避免将数据导入数据库再从数据库获取;
执行下面命令查看支持的所有命令
$ china list
输出信息:
Available commands:
help Displays help for a command
list Lists commands
crawl
crawl:holiday 采集节假日数据
crawl:nationality 从百度百科采集民族信息
crawl:region 从国家统计局采集地区信息
dashboard
dashboard:holiday 展示节假日信息
dashboard:nationality 展示民族数据信息
dashboard:region 展示我国省市县信息
例: 展示我国所有的省、直辖市、自治区以及特别行政区:
$ china dashboard:region
上述命令会输出以下结果:
-------- ------------------ ------
Code 名称 类型
-------- ------------------ ------
110000 北京市 省
120000 天津市 省
130000 河北省 省
140000 山西省 省
150000 内蒙古自治区 省
210000 辽宁省 省
220000 吉林省 省
230000 黑龙江省 省
310000 上海市 省
320000 江苏省 省
330000 浙江省 省
340000 安徽省 省
350000 福建省 省
360000 江西省 省
370000 山东省 省
410000 河南省 省
420000 湖北省 省
430000 湖南省 省
440000 广东省 省
450000 广西壮族自治区 省
460000 海南省 省
500000 重庆市 省
510000 四川省 省
520000 贵州省 省
530000 云南省 省
540000 西藏自治区 省
610000 陕西省 省
620000 甘肃省 省
630000 青海省 省
640000 宁夏回族自治区 省
650000 新疆维吾尔自治区 省
710000 台湾省 省
810000 香港特别行政区 省
820000 澳门特别行政区 省
-------- ------------------ ------
...
The MIT license. See MIT