speelpenning / laravel-postcode-nl
一个使用Postcode.nl REST API进行荷兰地址验证的Laravel客户端。
v9.0
2022-04-28 17:20 UTC
Requires
- php: ^7.3|^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.2
- illuminate/config: 9.*
- illuminate/contracts: 9.*
- illuminate/routing: 9.*
- illuminate/support: 9.*
- illuminate/validation: 9.*
Requires (Dev)
- laravel/laravel: 9.*
- phpunit/phpunit: ^9.5.20
- roave/security-advisories: dev-master
README
使用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>