coderstephen/edmunds-sdk

该软件包已被弃用且不再维护。未建议替代包。

PHP版Edmunds SDK的实现

v0.1 2015-07-27 22:41 UTC

This package is not auto-updated.

Last update: 2020-02-17 04:36:49 UTC


README

Version License Downloads Scrutinizer

这是一个简单且原生的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授权。有关详细信息,请参阅许可文件