jabranr/postcodes-io

PHP 库,用于 postcodes.io API

2.0.0 2022-10-09 08:31 UTC

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