openapi-sdk-php-client

Official repository of the Alibaba Cloud Client for PHP

OTHER License

Downloads
2.6M
Stars
219
Committers
8

English | 简体中文

Alibaba Cloud Client for PHP

Alibaba Cloud Client for PHP 是帮助 PHP 开发者管理凭据、发送请求的客户端工具,Alibaba Cloud SDK for PHP 由本工具提供底层支持。

使用诊断

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

在线示例

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

先决条件

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

安装依赖

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

composer require alibabacloud/client

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

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

快速使用

在您开始之前,您需要注册阿里云帐户并获取您的凭证

<?php

use AlibabaCloud\Client\AlibabaCloud;

AlibabaCloud::accessKeyClient('accessKeyId', 'accessKeySecret')->asDefaultClient();

请求

请求风格分为 ROARPC,不同产品风格不同,使用前,请参考产品文档。推荐使用 Alibaba Cloud SDK for PHP ,细节已被封装,无需关心风格。

ROA 请求

<?php

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

try {
    $result = AlibabaCloud::roa()
                          ->regionId('cn-hangzhou') // 指定请求的区域,不指定则使用客户端区域、默认区域
                          ->product('CS') // 指定产品
                          ->version('2015-12-15') // 指定产品版本
                          ->action('DescribeClusterServices') // 指定产品接口
                          ->serviceCode('cs') // 设置 ServiceCode 以备寻址,非必须
                          ->endpointType('openAPI') // 设置类型,非必须
                          ->method('GET') // 指定请求方式
                          ->host('cs.aliyun.com') // 指定域名则不会寻址,如认证方式为 Bearer Token 的服务则需要指定
                          ->pathPattern('/clusters/[ClusterId]/services') // 指定ROA风格路径规则
                          ->withClusterId('123456') // 为路径中参数赋值,方法名:with + 参数
                          ->request(); // 发起请求并返回结果对象,请求需要放在设置的最后面

    print_r($result->toArray());
    
} catch (ClientException $exception) {
    print_r($exception->getErrorMessage());
} catch (ServerException $exception) {
    print_r($exception->getErrorMessage());
}

RPC 请求

<?php

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

try {
    $result = AlibabaCloud::rpc()
                          ->product('Cdn')
                          ->version('2014-11-11')
                          ->action('DescribeCdnService')
                          ->method('POST')
                          ->request();

    print_r($result->toArray());

} catch (ClientException $exception) {
    print_r($exception->getErrorMessage());
} catch (ServerException $exception) {
    print_r($exception->getErrorMessage());
}

文档

问题

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

发行说明

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

贡献

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

相关

许可证

Apache-2.0

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

Package Rankings
Top 0.73% on Packagist.org
Badges
Extracted from project README's
Latest Stable Version composer.lock Total Downloads License codecov PHP Version Require
Related Projects