speelpenning/laravel-postcode-nl

一个使用Postcode.nl REST API进行荷兰地址验证的Laravel客户端。

v9.0 2022-04-28 17:20 UTC

README

Build Status License

使用Postcode.nl REST API进行荷兰地址验证的客户端。

安装

通过Composer拉取包

composer require speelpenning/laravel-postcode-nl

接下来,在Postcode.nl注册一个账户以获取密钥和秘密。有关更多信息,请参阅https://api.postcode.nl/#register。一旦您获得了密钥和秘密,将它们存储在您的.env文件中。

将以下服务提供者添加到您的应用程序配置中

Speelpenning\PostcodeNl\PostcodeNlServiceProvider::class,

按照配置部分进行操作,以使一切工作正常。

用法

使用地址查找有两种方式:在您的代码中注入地址查找服务或使用包中提供的AddressController。

依赖注入

示例

<?php

use Exception;
use Speelpenning\PostcodeNl\Services\AddressLookup;

class AddressDumper {

    /**
     * @var AddressLookup
     */
    protected $lookup;
    
    /**
     * Create an address dumper instance.
     *
     * @param AddressLookup $lookup
     */
    public function __construct(AddressLookup $lookup)
    {
        $this->lookup = $lookup;
    }
    
    /**
     * Dumps the address details on screen.
     *
     * @param string $postcode
     * @param int $houseNumber
     * @param null|string $houseNumberAddition
     */
    public function dump($postcode, $houseNumber, $houseNumberAddition = null)
    {
        try {
            $address = $this->lookup->lookup($postcode, $houseNumber, $houseNumberAddition);
            dd($address);
        }
        catch (Exception $e) {
            exit('Ow, that went wrong...');
        }
    }

}

使用JSON API

为了使用API,请在配置中启用它。启用后,以下路由可用

route('postcode-nl::address', [$postcode, $houseNumber, $houseNumberAddition = null]);

或者使用以下URL(例如,用于AJAX调用)

/postcode-nl/address/{postcode}/{houseNumber}/{houseNumberAddition?}

配置

凭证(必需)

密钥和秘密用于身份验证。没有它们,您无法使用此服务。

POSTCODENL_KEY=<your-api-key>
POSTCODENL_SECRET=<your-secret>

启用路由(可选)

此包附带一个可用的JSON API,默认情况下是禁用的。您可以通过以下方式启用它

POSTCODENL_ENABLE_ROUTES=true

超时时间(以秒为单位,可选)

默认情况下,客户端等待10秒以获取响应。您可以设置不同的超时时间。

POSTCODENL_TIMEOUT=<timeout-in-seconds>