dever 405c10e477 edit 4 rokov pred
..
src 405c10e477 edit 4 rokov pred
CHANGELOG.md 405c10e477 edit 4 rokov pred
CONTRIBUTING.md 405c10e477 edit 4 rokov pred
LICENSE.md 405c10e477 edit 4 rokov pred
NOTICE.md 405c10e477 edit 4 rokov pred
README-zh-CN.md 405c10e477 edit 4 rokov pred
README.md 405c10e477 edit 4 rokov pred
SUPPORTED-EN.md 405c10e477 edit 4 rokov pred
SUPPORTED.md 405c10e477 edit 4 rokov pred
UPGRADING.md 405c10e477 edit 4 rokov pred
composer.json 405c10e477 edit 4 rokov pred

README-zh-CN.md

English | 简体中文

Alibaba Cloud SDK for PHP

Latest Stable Version composer.lock Total Downloads License codecov Travis Build Status Appveyor Build Status

Alibaba Cloud SDK for PHP 是支持产品快捷访问的开发包,由 Alibaba Cloud Client for PHP 提供底层支持。

发行说明

我们在 消除已知问题兼容旧语法 的原则上开发了新内核,增加了如下特性:

先决条件

您的系统需要满足先决条件,包括 PHP >= 5.5。 我们强烈建议使用cURL扩展,并使用 TLS 后端编译 cURL 7.16.2+。

安装依赖

如果已在系统上全局安装 Composer,请直接在项目目录中运行以下内容来安装 Alibaba Cloud SDK for PHP 作为依赖项:

composer require alibabacloud/sdk

一些用户可能由于网络问题无法安装,可以使用阿里云 Composer 全量镜像

请看安装有关通过 Composer 和其他方式安装的详细信息。

在线示例

API Explorer 提供在线调用阿里云产品,并动态生成 SDK 代码和快速检索接口等能力,能显著降低使用云 API 的难度。

快速使用

在您开始之前,您需要注册阿里云帐户并获取您的凭证。请求之前,请了解使用客户端,请求之后,请了解结果对象

目前仅支持部分阿里云产品,已支持产品列表,对于没有支持的产品,您可使用 Alibaba Cloud Client for PHP 发起自定义请求,还可使用 API Explorer 在线生成 Alibaba Cloud Client for PHP 代码。

<?php

use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use AlibabaCloud\Ecs\Ecs;

// 设置全局客户端
AlibabaCloud::accessKeyClient('foo', 'bar')
            ->regionId('cn-hangzhou')
            ->asDefaultClient();

try {
    // 访问产品 APIs
    $request = Ecs::v20140526()->describeRegions();
    
    // 设置选项/参数并执行请求
    $result = $request->withResourceType('type') // API 的参数
                      ->withInstanceChargeType('type') // API 的参数
                      ->client('client1') // 指定发送客户端,否则使用全局客户端
                      ->debug(true) // 开启调试会输出详细信息
                      ->connectTimeout(0.01) // 连接超时会抛出异常
                      ->timeout(0.01) // 超时会抛出异常
                      ->request(); // 执行请求
    
    // 也可以传入数组设置
    $options = [
                   'debug'           => true,
                   'connect_timeout' => 0.01,
                   'timeout'         => 0.01,
                   'query'           => [
                       'ResourceType' => 'type',
                       'InstanceChargeType' => 'type',
                   ],
               ];

    // 设置的优先级
    $result2 = Ecs::v20140526()
                  ->describeRegions($options)
                  ->options([
                                'query' => [
                                    'Key'      => '我会覆盖构造函数的这个值',
                                    'new'      => '我是新增的值',
                                ],
                            ])
                  ->options([
                                'query' => [
                                    'Key' => '我会覆盖以前的值',
                                    'bar' => '我是新增的值',
                                ],
                            ])
                  ->debug(false) // 最后调用的会覆盖前者
                  ->request();
    
} catch (ClientException $exception) {
    echo $exception->getMessage(). PHP_EOL;
} catch (ServerException $exception) {
    echo $exception->getMessage() . PHP_EOL;
    echo $exception->getErrorCode(). PHP_EOL;
    echo $exception->getRequestId(). PHP_EOL;
    echo $exception->getErrorMessage(). PHP_EOL;
}

问题

提交 Issue,不符合指南的问题可能会立即关闭。

发行说明

每个版本的详细更改记录在发行说明中。

贡献

提交 Pull Request 之前请阅读贡献指南

相关

许可证

Apache-2.0

版权所有 1999-2019 阿里巴巴集团