setono / coolrunner-php-sdk
使用此PHP SDK消耗CoolRunner API v3
v1.1.0
2024-03-06 11:33 UTC
Requires
- php: >=8.1
- cuyz/valinor: ^1.0
- php-http/discovery: ^1.14
- psr/http-client: ^1.0
- psr/http-client-implementation: ^1
- psr/http-factory: ^1.0
- psr/http-factory-implementation: ^1
- psr/http-message: ^1.0
Requires (Dev)
- infection/infection: ^0.26
- kriswallsmith/buzz: ^1.2
- nyholm/psr7: ^1.5
- phpspec/prophecy-phpunit: ^2.0
- phpunit/phpunit: ^9.6
- psalm/plugin-phpunit: ^0.18
- setono/code-quality-pack: ^2.7
This package is auto-updated.
Last update: 2024-09-06 12:50:03 UTC
README
在PHP中使用CoolRunner API v3。
安装
composer require setono/coolrunner-php-sdk
使用
<?php use Setono\CoolRunner\Client\Client; use Setono\CoolRunner\DTO\Collection; use Setono\CoolRunner\DTO\Servicepoint; require_once '../vendor/autoload.php'; $client = new Client('USERNAME', 'TOKEN'); $servicepoints = $client ->servicepoints() ->find('gls', 'DK', 'Stigsborgvej 60 4. th.', '9400', 'Nørresundby') ; foreach ($servicepoints as $servicepoint) { echo $servicepoint->name . "\n"; echo $servicepoint->address->street . "\n"; echo $servicepoint->address->zipCode . ' ' . $servicepoint->address->city . "\n"; echo $servicepoint->address->countryCode . "\n\n"; }
将输出类似的内容
Min Købmand Nørre Uttrup
Nørre Uttrup Torv 15
9400 Nørresundby
DK
Shell 7-Eleven Nørresundby
Østergade 27-29
9400 Nørresundby
DK
Next-Data.Dk
Østerbrogade 79
9400 Nørresundby
DK
...
生产使用
在内部,这个库使用CuyZ/Valinor库,该库非常适合将API响应转换为DTO。然而,这个库有一些开销,并且在使用缓存时性能最佳。
当你实例化Client
时,你可以提供一个MapperBuilder
实例。利用这个机会来设置缓存
<?php use CuyZ\Valinor\Cache\FileSystemCache; use CuyZ\Valinor\MapperBuilder; use Setono\CoolRunner\Client\Client; use Setono\CoolRunner\DTO\Collection; use Setono\CoolRunner\DTO\Servicepoint; require_once '../vendor/autoload.php'; $cache = new FileSystemCache('path/to/cache-directory'); $client = new Client('USERNAME', 'TOKEN', (new MapperBuilder())->withCache($cache));
你可以在这里了解更多信息:Valinor: 性能和缓存。