chrgriffin / wave-api
一个简单的 PHP 客户端,用于利用 Webaim 的 WAVE API。
v1.0.1
2019-02-07 15:57 UTC
Requires
- php: ^7.1
- guzzlehttp/guzzle: ^6.3
Requires (Dev)
- phpunit/phpunit: ^7.5
This package is auto-updated.
Last update: 2024-09-08 07:11:52 UTC
README
wave-api 是一个用于与 Webaim 的 WAVE API 交互的强类型包。
要求
wave-api 需要 PHP 7.1 或更高版本。您还需要在 WAVE API 中创建一个账户,才能使用它。
安装
您可以通过 composer 进行安装
composer install chrgriffin/wave-api
使用方法
基本使用
使用客户端非常简单
require_once './vendor/autoload.php'; use ChrGriffin\WaveApi\Client as WaveClient; $wave = new WaveClient('my-api-key'); $response = $wave->analyze('my-url');
附加参数
如果您想指定可选参数,例如 viewportwidth、reporttype 或 format,有多种方式可以实现。
首先,您可以在实例化客户端时指定任何附加参数
$wave = new WaveClient('my-api-key', [ 'viewportwidth' => 1440, 'reporttype' => 2, 'format' => 'json' ]);
其次,您可以在发出请求时指定任何附加参数
$response = $wave->analyze('my-url', [ 'viewportwidth' => 1440, 'reporttype' => 2, 'format' => 'json' ]);
或者第三,您可以使用多个设置器链式操作
$wave->setViewportwidth(1440) ->setReporttype(2) ->setFormat('json') ->analyze('my-url);
响应格式
format 参数有两个有效选项:json 和 xml。设置此参数将更改响应类型
- 如果格式是
json,则$wave->analyze()将返回一个\stdClass对象 - 如果格式是
xml,则$wave->analyze()将返回一个\SimpleXMLElement对象
文档
可用方法
getClient() : GuzzleHttp\Client(默认值)setClient($client) : ChrGriffin\WaveApi\Client$client:用您自己的 GuzzleHttp 客户端替换默认客户端。
getKey() : stringsetKey(string $key) : ChrGriffin\WaveApi\Client$key:您的 WAVE API 密钥。
getFormat() : string(默认值json)setFormat(string $format) : ChrGriffin\WaveApi\Client$format:期望的报表格式。如果值既不是json也不是xml,将抛出异常。
getViewportwidth() : intsetViewportwidth(int $viewportwidth) : ChrGriffin\WaveApi\Client$viewportwidth:分析时的期望视口宽度。
getEvaldelay() : intsetEvaldelay(int $evaldelay) : ChrGriffin\WaveApi\Client$evaldelay:分析前期望等待的毫秒数。
getReporttype() : intsetReporttype(int $reporttype) : ChrGriffin\WaveApi\Client$reporttype:期望的报表类型。如果值不是1、2或3之一,将抛出异常。
getUsername() : stringsetUsername(string $username) : ChrGriffin\WaveApi\Client$username:给定 URL 的基本 HTTP 认证所期望的用户名。
getPassword() : stringsetPassword(string $password) : ChrGriffin\WaveApi\Client$password:给定 URL 的基本 HTTP 认证所期望的密码。
getResponseContents() : null|\stdClass|\SimpleXMLElement_(请求之前将为 null)setParams(array $params) : ChrGriffin\WaveApi\Client$params:任何或所有参数的关联数组。有效的参数format : string(必须是json或xml之一)viewportwidth : intevaldelay : intreporttype : int(必须是1、2或3之一)username : stringpassword : string
analyze(string $url, array $params = []) : \stdClass|\SimpleXMLElement$url:期望分析的目标 URL。$params:任何或所有参数的关联数组。有效的参数format : string(必须是json或xml之一)viewportwidth : intevaldelay : intreporttype : int(必须是1、2或3之一)username : stringpassword : string
异常
- 每当向方法传递无效类型参数时,将会抛出
\TypeError异常(有关有效类型的说明,请参阅上述文档)。 - 在以下情况下将抛出
ChrGriffin\WaveApi\Exceptions\InvalidArgumentException(继承自\InvalidArgumentException)异常:- 尝试将
format设置为无效值(既不是xml也不是json)。 - 尝试将
reporttype设置为无效值(既不是1、2也不是3)。 - 尝试设置不存在的参数。
- 尝试将
- 当 WAVE API 返回错误时,将抛出
ChrGriffin\WaveApi\Exceptions\ResponseException异常。如果提供了错误信息,它将是异常的消息。