Skip to content

Latest commit

 

History

History
162 lines (123 loc) · 7.13 KB

README-zh-CN.md

File metadata and controls

162 lines (123 loc) · 7.13 KB

English | 简体中文

Alibaba Cloud SDK for PHP

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

AlibabaCloud

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 和其他方式安装的详细信息。

使用诊断

Troubleshoot 提供 OpenAPI 使用诊断服务,通过 RequestID报错信息 ,帮助开发者快速定位,为开发者提供解决方案。

在线示例

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

快速使用

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

目前仅支持部分阿里云产品,已支持产品列表,对于没有支持的产品,您可使用 Alibaba Cloud Client for PHP 发起自定义请求,还可使用 阿里云 OpenAPI 开发者门户 在线生成 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

Copyright (c) 2009-present, Alibaba Cloud All rights reserved.