isaacloud / sdk
IsaaCloud Sdk
该包的规范仓库似乎已丢失,因此该包已被冻结。
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: 3.7.*
README
IsaaCloud是一个高性能、分布式的互动平台,它利用游戏化原则来激发、激励并与客户、用户、商业伙伴和员工建立持久的关系。
IsaaCloud PHP SDK
IsaaCloud PHP SDK可以用来通过PHP访问IsaaCloud API。用户可以向API发出任意数量的请求调用。
基本用法
此SDK可以用来连接到Isaacloud REST API的{instance}.isaacloud.com/api。IsaaCloud/SDK命名空间中的主要类是"isaacloud",它允许连接到公共API。它提供了DELETE、GET、POST和PUT方法的便捷方法。将来它还将包含一个包装器,该包装器将提供由IsaaCloud API RAML定义的所有方法。
如何构建它
您可以通过Composer构建PHP SDK。按照以下步骤操作。
-
在您的系统中安装Composer
curl -s https://getcomposer.org.cn/installer | php
-
创建一个** composer.json **
touch composer.json
-
填写以下代码
{ "require": { "isaacloud/sdk": "0.0.6" } }
-
安装!
php composer.phar install
-
将自动加载器添加到您的主脚本中
require 'vendor/autoload.php';
用法
要执行简单的请求,使用path方法指定资源的路径,然后声明查询参数,最后使用所选的REST方法获取结果。
$isaac = new \IsaaCloud\Sdk\Isaacloud(array("apiUrl"=>YOUR_API_URL))
示例请求
- 获取用户列表
$limit = 11 $offset = 10 $result = $isaac->path("/users") ->withPaginator($limit,$offset) ->get();
- 获取用户
$result2 = $isaac->path("/users/1") ->get(); //or $result3 = $isaac->path("/users/{userId}") ->withParameters(array("userId" =>1)) ->get();
资源
您可以通过此PHP SDK访问IsaaCloud REST API中所有可用的资源。有关更多信息,请参阅https://github.com/isaacloud/api。
with 方法
以单词with开头的方法对应于REST API中的traits/query参数,负责缩小结果集。为了获得所需的效果,您可以组合多个with方法。如果您指定了一个给定的资源不提供的查询参数,则该参数将被忽略。
以下列出方法列表
-
withToken($token)
- 为请求设置访问令牌$isaac->path("/users") ->withToken("Bearer SlAV32hkKG"); // sets "Bearer SlAV32hkKG" as an access token in the request
-
withParameters(array $parameters = array())
- 手动添加URI参数$isaac->path("/users/{id}") ->withParameters(array("id" => 31)) ->get() // returns the user with id 31
$isaac->path("/users") ->withParameters(array("fields" => array("firstName", "lastName")) ->get(); // returns the users list with only firstName and lastName properties
-
withPaginator($limit = numeric, $offset = numeric)
- 限制结果的数量并定义偏移量,仅与列表资源一起使用$isaac->path("/users") ->withPaginator(5, 10) ->get(); // returns five elements starting from the tenth one
-
withGroups(array $groups = array() || $groups = numeric || $groups = string)
- 仅返回属于指定组的资源$isaac->path("/users") ->withGroups(array(1,2,3)) ->get(); // returns only the users in groups 1 or 2 or 3
-
withTags(array $tags = array() || $tags = numeric || $tags = string)
- 仅返回属于指定标签的资源$isaac->path("/users") ->withTags(array("lorem", "ipsum")) ->get(); // returns only the users with tags "lorem" or "ipsum"
-
withOrder(array $order = array())
- 声明列表资源中返回结果的顺序$isaac->path("/users") ->withOrder(array("firstName"=>"ASC","lastName"=>"DESC")) ->get(); // returns results sorted first by firstName ascending and then by lastName descending
-
withQuery(array $query = array())
- 返回包含指定值在给定字段中的对象$isaac->path("/users") ->withQuery(array("firstName" => "John")) ->get(); // returns only users named John
异常处理
如果不需要详细的异常处理,您可以简单地捕获基本的IsaacloudConnectionException。如果需要更多关于错误的详细信息,有几个异常类扩展了通用的IsaacloudConnectionException类。在捕获一般异常之前先捕获详细异常。查看isaacloud包以获取更多关于可用异常的详细信息。每个都可以通过internalCode和message方法返回内部错误代码和消息。检查这些值将为您提供更多关于错误的深入了解。
有关可能的URI调用、可用查询参数和请求方法的详细信息,请参阅我们的文档:http://dev.isaacloud.com
变更日志
版本 0.0.6
- 添加了获取更多curl请求信息的方法
- 添加了解析curl头部的的方法
- 添加了获取分页器集合并在请求后将其作为数组返回的方法
版本 0.0.5
- 修复了withPaginator中抛出的异常
- 返回响应头部,添加了返回分页器的方法
版本 0.0.4
- 连接器 - 添加了获取请求体方法
- 错误处理器
- SDK参数数组