司法部 / postcodeinfo-client-php
MoJ Postcode Info API 的 PHP API 客户端包装器
此软件包的规范仓库似乎已丢失,因此软件包已被冻结。
Requires
- php: >=5.4.0
- guzzlehttp/psr7: ^1.2
- php-http/client-implementation: ^1.0
- php-http/httplug: ^1.0
- psr/http-message: ^1.0
Requires (Dev)
- php-http/curl-client: *
- php-http/message: ^1.2
- phpspec/phpspec: ~2.0
- phpunit/phpunit: 4.3.*
README
MoJ DS PostcodeInfo 服务的 PHP API 客户端。
PSR-7 HTTP
Postcode Lookup PHP 客户端基于 PSR-7 HTTP 模型。因此,您需要选择您喜欢的 HTTP 客户端库来使用。
这里将使用 Guzzle v6 适配器展示示例。
安装
Postcode Lookup PHP 客户端可以使用 Composer 安装。运行此命令
composer require php-http/guzzle6-adapter ministryofjustice/postcodeinfo-client-php
使用
身份验证
您需要一个 身份验证令牌(auth token)。如果您使用的是 MOJ DS 的 Postcode Info 服务器,可以通过将简要说明通过电子邮件发送到 platforms@digital.justice.gov.uk 来获取令牌,包括
- 您是谁
- 您将使用它来做什么项目
- 您预计每天将执行多少次查找
如果您正在运行自己的服务器,请参阅 https://github.com/ministryofjustice/postcodeinfo#auth_tokens 了解如何创建令牌的说明。
实例化
假设您已通过 Composer 安装了软件包,Postcode Lookup PHP 客户端将通过自动加载器可用。
使用
$client = new \MinistryOfJustice\PostcodeInfo\Client([ 'apiKey' => '{your api key}', 'httpClient' => new \Http\Adapter\Guzzle6\Client ]);
然后您可以使用 $client
访问 Postcode Lookup API。
如果您需要访问除生产环境以外的环境,您可以在构造函数中通过 baseUrl
键传递基本 URL
'baseUrl' => '{api base url}'
返回一个邮编的地址列表
// Return a list of addresses $addresses = $client->lookupPostcodeAddresses('SW19 5AL'); // Check if any addresses were found $found = !empty($addresses); // Count the addresses found $numberFound = count($addresses); // Iterate over the returned addresses foreach ($addresses as $address) { // Available properties include... $address->uprn; $address->organisation_name; $address->building_name; $address->sub_building_name; $address->building_number; $address->post_town; $address->postcode; $address->postcode_type; $address->formatted_address; $address->thoroughfare_name; $address->dependent_locality; $address->double_dependent_locality; $address->po_box_number; // Coordinate info is under... $address->point->getLatitude(); $address->point->getLongitude(); }
返回有关邮编的元数据
$metadata = $client->lookupPostcodeMetadata('AB12 4YA'); // You then have access to the following properties... $metadata->country->name; $metadata->country->gss_code; $metadata->local_authority->name; $metadata->local_authority->gss_code; $metadata->centre->getLatitude(); $metadata->centre->getLongitude();
测试
要运行测试,请添加一个名为 spec/api_key 的文件。在此文件中,放置邮编信息服务的 API 令牌。
安装 composer 依赖项
php composer.phar install
然后,从存储库的根目录
bin/phpspec run --format=pretty -vvv --stop-on-failure
许可证
Postcode Lookup PHP 客户端在 MIT 许可证下发布,许可证副本可在 LICENSE 中找到。