openapi-sdk-php

Alibaba Cloud SDK for PHP

OTHER License

Downloads
1.5M
Stars
517
Committers
7

English | 简体中文

Alibaba Cloud SDK for PHP

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.

Package Rankings
Top 0.65% on Packagist.org
Badges
Extracted from project README's
Latest Stable Version composer.lock Total Downloads License codecov Travis Build Status Appveyor Build Status
Related Projects