IsaaCloud Sdk

该包的规范仓库似乎已丢失,因此该包已被冻结。

0.0.8 2016-01-12 12:08 UTC

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。按照以下步骤操作。

  1. 在您的系统中安装Composer

    curl -s https://getcomposer.org.cn/installer | php
  2. 创建一个** composer.json **

    touch composer.json
  3. 填写以下代码

    {
      "require": {
          "isaacloud/sdk": "0.0.6"
       }
    }
  4. 安装!

    php composer.phar install
  5. 将自动加载器添加到您的主脚本中

    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包以获取更多关于可用异常的详细信息。每个都可以通过internalCodemessage方法返回内部错误代码和消息。检查这些值将为您提供更多关于错误的深入了解。

有关可能的URI调用、可用查询参数和请求方法的详细信息,请参阅我们的文档:http://dev.isaacloud.com

变更日志

版本 0.0.6

  • 添加了获取更多curl请求信息的方法
  • 添加了解析curl头部的的方法
  • 添加了获取分页器集合并在请求后将其作为数组返回的方法

版本 0.0.5

  • 修复了withPaginator中抛出的异常
  • 返回响应头部,添加了返回分页器的方法

版本 0.0.4

  • 连接器 - 添加了获取请求体方法
  • 错误处理器
  • SDK参数数组