jabranr / postcodes-io
PHP 库,用于 postcodes.io API
2.0.0
2022-10-09 08:31 UTC
Requires
- php: >= 7.3
Requires (Dev)
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-09-09 13:01:35 UTC
README
PostcodesIO 是一个用于 postcodes.io API 的 PHP 库。
安装
使用 composer 安装
$ composer require jabranr/postcodes-io
文档
以下所有方法都返回与从 postcodes.io API 接收的相同完整响应,以 JSON 格式返回。
开发
先决条件
-
Docker
-
启动容器:
docker-compose up
-
运行测试:
docker-compose exec postcodes_io bash -c "composer test"
调试 Xdebug 已经作为 docker 设置的一部分安装并启用。项目包括 VSCode 的 launch.json
调试设置文件。
查找邮编信息
use Jabranr\PostcodesIO\PostcodesIO; $postcodesIO = new PostcodesIO(); try { $addresses = $postcodesIO->find('NW1 5LD'); } catch(\Exception $e) { echo $e->getMessage(); }
您可以捕获特定的
Jabranr\PostcodesIO\Exception\PostcodeIOException
或/和捕获一般的\Exception
来捕获任何类型。
use Jabranr\PostcodesIO\PostcodesIO; $postcodesIO = new PostcodesIO('NW1 5LD'); $addresses = $postcodesIO->getResult();
通过地理位置查找邮编信息
use Jabranr\PostcodesIO\PostcodesIO; $postcodesIO = new PostcodesIO(); $addresses = $postcodesIO->findByLocation(51.520331, -0.1396267);
查找随机的邮编信息
use Jabranr\PostcodesIO\PostcodesIO; $postcodesIO = new PostcodesIO(); $addresses = $postcodesIO->findRandom();
或者使用别名方法
use Jabranr\PostcodesIO\PostcodesIO; $postcodesIO = new PostcodesIO(); $addresses = $postcodesIO->random();
验证邮编
use Jabranr\PostcodesIO\PostcodesIO; $postcodesIO = new PostcodesIO(); $addresses = $postcodesIO->validate('NW1 5LD');
查找最近的邮编
use Jabranr\PostcodesIO\PostcodesIO; $postcodesIO = new PostcodesIO(); $addresses = $postcodesIO->findNearest('NW1 5LD');
或者使用别名方法
use Jabranr\PostcodesIO\PostcodesIO; $postcodesIO = new PostcodesIO(); $addresses = $postcodesIO->nearest();
获取邮编/区号的自动完成列表
use Jabranr\PostcodesIO\PostcodesIO; $postcodesIO = new PostcodesIO(); $addresses = $postcodesIO->autocomplete('NW1');
搜索邮编
use Jabranr\PostcodesIO\PostcodesIO; $postcodesIO = new PostcodesIO(); $addresses = $postcodesIO->query('NW1 5LD');
或者使用别名方法
use Jabranr\PostcodesIO\PostcodesIO; $postcodesIO = new PostcodesIO(); $addresses = $postcodesIO->search('NW1 5LD');
查找区号
use Jabranr\PostcodesIO\PostcodesIO; $postcodesIO = new PostcodesIO(); $addresses = $postcodesIO->findOutcode('NW1');
查找最近的区号
use Jabranr\PostcodesIO\PostcodesIO; $postcodesIO = new PostcodesIO(); $addresses = $postcodesIO->nearestOutcode('NW1');
通过位置查找区号
use Jabranr\PostcodesIO\PostcodesIO; $postcodesIO = new PostcodesIO(); $addresses = $postcodesIO->findOutcodeByLocation(51.520331, -0.1396267);
批量邮编搜索
use Jabranr\PostcodesIO\PostcodesIO; $postcodesIO = new PostcodesIO(); $addresses = $postcodesIO->bulkPostcodeSearch(array('NW1 5LD', 'W1T 7NY'));
每次请求最多 100 个邮编。
批量反向地理编码
use Jabranr\PostcodesIO\PostcodesIO; $postcodesIO = new PostcodesIO(); $addresses = $postcodesIO->bulkReverseGeocoding(array( array(51.520331, -0.1396267), array(51.520331, -0.1396267) ));
或者
use Jabranr\PostcodesIO\PostcodesIO; $postcodesIO = new PostcodesIO(); $addresses = $postcodesIO->bulkReverseGeocoding(array( array('latitude' => 51.520331, 'longitude' => -0.1396267), array('latitude' => 51.520331, 'longitude' => -0.1396267) ));
每次请求最多 100 个地理位置。
许可证
MIT 许可证 © 2016 – 现在 | Jabran Rafique