coderstephen / edmunds-sdk
PHP版Edmunds SDK的实现
Requires
- php: >=5.3
This package is not auto-updated.
Last update: 2020-02-17 04:36:49 UTC
README
这是一个简单且原生的PHP版Edmunds API SDK实现。提供远程数据的本地对象表示。
安装
显然,使用 Composer 进行安装
$ composer require coderstephen/edmunds-sdk
使用方法
首先,创建一个与所需Edmunds API相对应的 ApiClient
实例,该实例连接到Edmunds服务器
$client = new Edmunds\SDK\VehicleApiClient('YOUR_API_KEY_HERE');
所有可用的API都从 ApiClient
基类扩展,并且以相同的方式创建。将Edmunds API密钥作为第一个参数传入。如果您还没有API密钥,您需要先在Edmunds上注册。
现在,您可以使用客户端对象访问几乎所有Edmunds API。目前,只有车辆API提供了对象包装器。要向任何端点发出原始请求,请使用 ApiClient::makeCall()
方法
$response = $client->makeCall('/api/inventory/v2/inventories', [ 'zipcode' => '90404' ]); foreach ($response->inventories as $inventory) { echo $inventory->vin; }
有关端点可用性和使用方法的详细信息,请参阅Edmunds API文档。
车辆API
提供了一个车辆API客户端,用于访问Edmunds广泛的车辆知识数据库。要使用它,首先创建一个 VehicleApiClient
对象
$client = new Edmunds\SDK\VehicleApiClient('YOUR_API_KEY_HERE');
VehicleApiClient
类扩展了 ApiClient
并提供了几个易于使用的包装方法来访问数据对象。以下是使用SDK可以执行的一些操作的简要示例
use Edmunds\SDK; $client = new SDK\VehicleApiClient('YOUR_API_KEY_HERE'); $makesIn2009 = $client->getMakes(null, 2009); foreach ($makesIn2009->getModels() as $model) { $modelYear = $model->getYear(2009); printf('Model name: %s', $model->name); foreach ($modelYear->getStyles() as $style) { $firstPhoto = $style->getPhotos()[0]; printf('Image URL: %s', $firstPhoto->getBestQualityUrl()); } }
缓存
最初创建此库的应用程序需要在处理人工智能指令时发出数千次API调用。为了减轻繁重的工作负担,此库提供了一个使用文件系统实现的简单API调用缓存解决方案。要使用缓存机制,在创建API客户端时传入一个 ApiCache
对象
$cache = new Edmunds\SDK\ApiCache('/path/to/cache'); $client = new Edmunds\SDK\VehicleApiClient('YOUR_API_KEY_HERE', $cache);
每次请求实体的特定数据时,都会首先检查缓存。如果没有找到缓存数据,则会像平常一样发出API调用,并将结果写入缓存以供以后使用。
许可
根据Apache公共许可证2.0授权。有关详细信息,请参阅许可文件。