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() : string
setKey(string $key) : ChrGriffin\WaveApi\Client
$key
:您的 WAVE API 密钥。
getFormat() : string
(默认值json
)setFormat(string $format) : ChrGriffin\WaveApi\Client
$format
:期望的报表格式。如果值既不是json
也不是xml
,将抛出异常。
getViewportwidth() : int
setViewportwidth(int $viewportwidth) : ChrGriffin\WaveApi\Client
$viewportwidth
:分析时的期望视口宽度。
getEvaldelay() : int
setEvaldelay(int $evaldelay) : ChrGriffin\WaveApi\Client
$evaldelay
:分析前期望等待的毫秒数。
getReporttype() : int
setReporttype(int $reporttype) : ChrGriffin\WaveApi\Client
$reporttype
:期望的报表类型。如果值不是1
、2
或3
之一,将抛出异常。
getUsername() : string
setUsername(string $username) : ChrGriffin\WaveApi\Client
$username
:给定 URL 的基本 HTTP 认证所期望的用户名。
getPassword() : string
setPassword(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 : int
evaldelay : int
reporttype : int
(必须是1
、2
或3
之一)username : string
password : string
analyze(string $url, array $params = []) : \stdClass|\SimpleXMLElement
$url
:期望分析的目标 URL。$params
:任何或所有参数的关联数组。有效的参数format : string
(必须是json
或xml
之一)viewportwidth : int
evaldelay : int
reporttype : int
(必须是1
、2
或3
之一)username : string
password : string
异常
- 每当向方法传递无效类型参数时,将会抛出
\TypeError
异常(有关有效类型的说明,请参阅上述文档)。 - 在以下情况下将抛出
ChrGriffin\WaveApi\Exceptions\InvalidArgumentException
(继承自\InvalidArgumentException
)异常:- 尝试将
format
设置为无效值(既不是xml
也不是json
)。 - 尝试将
reporttype
设置为无效值(既不是1
、2
也不是3
)。 - 尝试设置不存在的参数。
- 尝试将
- 当 WAVE API 返回错误时,将抛出
ChrGriffin\WaveApi\Exceptions\ResponseException
异常。如果提供了错误信息,它将是异常的消息。