slince / china
中国资料库查询大全
Installs: 432
Dependents: 0
Suggesters: 0
Security: 0
Stars: 55
Watchers: 5
Forks: 17
Open Issues: 1
Requires
- php: ^7.2||^8.0
- ext-json: *
- doctrine/collections: ^1.0|^2.0
- slince/config: ^1.1
- slince/di: ^3.0
- symfony/console: ^4.2|^5.0|^6.0
Requires (Dev)
- fabpot/goutte: ^4.0
- phpunit/phpunit: ^7.5|^8.0|^9.0
- symfony/filesystem: ^4.2|^5.0|^6.0
This package is auto-updated.
Last update: 2024-10-18 16:02:47 UTC
README
我国的资料库查询库;本库主要包含民族、节日、地址库信息的查询;部分数据来源采集自百科以及国家统计局;欢迎收藏欢迎贡献代码;
Installation
执行下面命令安装
> composer require slince/china
Document
你可以在这里发现文档;
Basic Usage
节日查询
$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 从国家统计局采集地区信息
view
view:holiday 展示节假日信息
view:nationality 展示民族数据信息
view: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 澳门特别行政区 省
-------- ------------------ ------
...
License
The MIT license. See MIT