pactode / gls-parcel-shop
GLS Parcel Shop Webservice的简单封装
v1.0.0
2023-11-07 13:24 UTC
Requires
- php: ^8.0
- illuminate/support: ^10.0
- laminas/laminas-soap: ^2.13
Requires (Dev)
- laravel/pint: ^1.10
- orchestra/testbench: ^8.0
- pestphp/pest: ^1.23
README
pactode/gls-parcel-shop
包是GLS Parcel Shop Webservice的简单封装,由PHP编写,并为Laravel提供服务提供者。
目录
安装
您可以通过composer安装此包
composer require pactode/gls-parcel-shop
该包将自动注册自己。
您可以选择使用以下方式发布配置文件:
php artisan vendor:publish --tag="parcel-shop-config"
使用
GLS Parcel Shop webservice允许您检索以下信息
- 给定国家的所有包裹店
- 通过其唯一编号查找特定包裹店
- 查找地址附近的包裹店
- 在特定邮编和国家内查找包裹店
设置客户端
在Laravel中可以跳过此步骤,因为客户端已绑定到服务容器。
$client = GLSParcelShop::make('http://www.gls.dk/webservices_v4/wsShopFinder.asmx?WSDL');
从Laravel服务容器解析
use Pactode\ParcelShop\Contracts\ParcelShop; $client = app(ParcelShop::class);
获取所有包裹店
$client->all('DK'); // returns Illuminate\Support\Collection
此请求返回一个包含Pactode\ParcelShop\Resources\ParcelShop
资源的集合。
查找特定包裹店
$parcelShop = $client->find(12345); // returns Pactode\ParcelShop\Resources\ParcelShop // The following getters are available for ParcelShop: $parcelShop->number(); $parcelShop->company(); $parcelShop->streetName(); $parcelShop->streetName2(); $parcelShop->zipCode(); $parcelShop->city(); $parcelShop->countryCode(); $parcelShop->latitude(); $parcelShop->longitude(); $parcelShop->openingHours(); // returns a collection of OpeningHour resources // Only available if you find parcel shops near an address $parcelShop->distance(); // 875 $parcelShop->distanceInKm(); // 0.875 // Available getters for the OpeningHour resource $openingHour->day(); // Monday $openingHour->from(); // 08:00 $openingHour->to(); // 20:00
查找地址附近的包裹店
// Params: Street, Zip Code, Country Code, Amount (optional, default to 5) $client->nearest('Amaliegade 16', '1256', 'DK', 10); // returns Illuminate\Support\Collection
在邮编内查找包裹店
$client->within('1256', 'DK'); // returns Illuminate\Support\Collection
测试
composer test
安全
如果您发现任何安全问题,请通过电子邮件
致谢
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。