liquidweb / php-stormondemand
StormOnDemand API的PHP绑定
Requires
- ext-curl: *
README
php-stormondemand为PHP程序员提供了一个库,通过StormAPI类与Liquid Web的Storm API交互。
支持的平台
无论您是否使用Liquid Web Storm服务器还是Storm on Demand,API以及随后的库都将正常工作。
支持的API版本
php-stormondemand库将与任何当前或未来的Storm API版本兼容。目前,有两个版本:
- v1
- bleed
要求
php-stormondemand库要求在PHP中启用cURL支持(有关更多信息,请参阅https://php.ac.cn/manual/en/book.curl.php)。
基本用法
以下是一个示例脚本(位于examples/目录中),展示了基本用法
<?php require_once('../StormAPI.class.php'); $apiUser = "api_user"; $apiPass = "api_pass"; $apiMethod = "storm/server/list"; $paramsArray = FALSE; $apiVersion = "v1"; $storm = new \LiquidWeb\StormAPI($apiUser, $apiPass, $apiMethod, $paramsArray, $apiVersion); $storm->addParam("page_size", 999); $results = $storm->request(); foreach($results['items'] as $item) { echo $item['domain'] . " || " . $item['uniq_id'] . "\n"; } ?>
或者,在实例化时也可以这样传递参数
<?php require_once('../StormAPI.class.php'); $apiUser = "api_user"; $apiPass = "api_pass"; $apiMethod = "storm/server/list"; $paramsArray = array('page_size' => 999); $apiVersion = "v1"; $storm = new \LiquidWeb\StormAPI($apiUser, $apiPass, $apiMethod, $paramsArray, $apiVersion); $results = $storm->request(); foreach($results['items'] as $item) { echo $item['domain'] . " || " . $item['uniq_id'] . "\n"; } ?>
使用了PHPDoc块,以便在您的IDE支持的情况下使用代码提示。
实例化方法摘要
以下是对当实例化StormAPI对象时,库提供的方法的简要总结,包括其功能及其参数。
__construct($apiUser, $apiPass, $apiMethod, $paramsArray = FALSE, $apiVersion = "v1") 当实例化一个StormAPI对象时调用的魔法构造方法。如果您想传递特定的API版本,但不想(或不能)在构造时传递参数,请将$paramsArray指定为布尔值(我更喜欢FALSE)。
bulkParams($paramsArray) 允许通过关联数组传递多个参数。
addParam($parameter, $value) 将指定的参数及其值添加到与API请求一起传递。
removeParam($parameter) 从与API请求一起传递中删除指定的参数。
listParams() 列出当前设置的所有参数。
listMethodParams() 解析API文档,并提供与当前使用的方法相关的参数。此外,它显示了参数的可选性。
clearParams() 清除可能已设置的所有参数。
newMethod($apiMethod, $clearparams = TRUE) 更改要调用的API方法。默认情况下,除非被覆盖,否则会清除参数。
listMethods() 返回所有可用于正在使用的API版本的API方法的列表。
debugInfo() 这是一个更方便的方法,它输出了可能对调试有用的某些信息。
request($displayFriendly = FALSE) 实际请求的方法。
当传递$displayFriendly为FALSE时,从API的解码JSON输出返回一个关联数组。
当$displayFriendly为TRUE时,返回一个包含两个键的数组,即'raw'和'display'。"display friendly"版本的输出在需要快速查看数据时很好,因为它以带有面包屑的格式显示,这样您可以轻松地知道数据在哪里。
storeRequest($key) 此方法通过提供的键存储API请求的结果。
returnRequests($key, $displayFriendly) 如果不提供 $key,此方法将返回所有存储的请求,或者返回特定键的请求。
$displayFriendly 参数的作用与 request() 方法中的对应参数相同。
listRequestKeys() 此方法列出存储请求的键。
removeRequest($key) 此方法移除给定键的存储请求。
静态方法摘要
以下为静态方法,它们不需要实例化对象即可运行。它们还具有为实例化对象提供的等效包装方法,以便获取当前设置值。
listMethodParamsStatic($apiMethod, $apiVersion = 'v1') 解析 API 文档,并提供与传入的方法和版本关联的参数。此外,它还显示了参数的可选性。
listMethodsStatic($apiVersion = 'v1') 返回所有可用 API 方法的列表,其中包含传入的 API 版本。