更新时间:2024-10-22 GMT+08:00
PHP SDK使用指南
物联网平台提供PHP语言的应用侧SDK供开发者使用。本文介绍PHP SDK的安装和配置,及使用PHP SDK调用应用侧API的示例。
SDK获取和安装
- 安装PHP开发环境。
访问PHP官网,下载并按说明安装PHP开发环境。
华为云 Php SDK 支持 PHP 5.6、PHP6、PHP7版本,不支持PHP8 版本,在运行前可执行 php --version 检查当前 Php 的版本信息,如果安装了PHP其他语言的版本,运行PHP SDK可能会报错。
- 安装composer
curl -sS https://getcomposer.org/installer | php
- 安装PHP SDK
composer require huaweicloud/huaweicloud-sdk-php
- 引入 Composer 的自动加载文件
require 'path/to/vendor/autoload.php';
代码示例
以调用查询设备列表接口为例,以下代码示例向您展示使用PHP SDK的主要步骤:
- 创建认证。
- 创建IoTDAClient实例并初始化。
- 实例化请求对象。
- 调用查询设备列表接口。
<?php namespace HuaweiCloud\SDK\IoTDA\V5\Model; require_once "vendor/autoload.php"; use HuaweiCloud\SDK\Core\Auth\BasicCredentials; use HuaweiCloud\SDK\Core\Http\HttpConfig; use HuaweiCloud\SDK\Core\Auth\Credentials; use HuaweiCloud\SDK\Core\Exceptions\ConnectionException; use HuaweiCloud\SDK\Core\Exceptions\RequestTimeoutException; use HuaweiCloud\SDK\Core\Exceptions\ServiceResponseException; use HuaweiCloud\SDK\Core\Region\Region; use HuaweiCloud\SDK\IoTDA\V5\IoTDAClient; // 认证用的ak和sk直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 $ak = getenv('HUAWEICLOUD_SDK_AK'); $sk = getenv('HUAWEICLOUD_SDK_SK'); // endpoint:请在控制台的"总览"界面的"平台接入地址"中查看“应用侧”的https接入地址。 // $endpoint = "https://iotda.cn-north-4.myhuaweicloud.com"; $endpoint = "<YOUR ENDPOINT>"; $projectId = "<YOUR PROJECT_ID>"; // REGION_ID:如果是上海一,请填写"cn-east-3";如果是北京四,请填写"cn-north-4";如果是华南广州,请填写"cn-south-1" $regionId = "<YOUR REGION ID>"; // 创建认证 $credential = new BasicCredentials($ak,$sk,$projectId); // 标准版/企业版需要使用衍生算法,基础版请删除配置"withDerivedPredicate" $credential->withDerivedPredicate(Credentials::getDefaultDerivedPredicate()); // 修改默认配置,跳过服务端证书验证 $config = HttpConfig::getDefaultConfig(); $config->setIgnoreSslVerification(true); // 创建IoTDAClient实例并初始化(若默认配置无修改config可不添加) $client = IoTDAClient::newBuilder(new IoTDAClient) ->withHttpConfig($config) ->withEndpoint($endpoint) ->withCredentials($credential) ->withRegion(new Region($regionId, $endpoint)) ->build(); // 实例化请求对象 $request = new ListDevicesRequest(); try { // 调用查询设备列表接口 $response = $client->ListDevices($request); } catch (ConnectionException $e) { $msg = $e->getMessage(); echo "\n". $msg ."\n"; } catch (RequestTimeoutException $e) { $msg = $e->getMessage(); echo "\n". $msg ."\n"; } catch (ServiceResponseException $e) { echo "\n"; echo $e->getHttpStatusCode(). "\n"; echo $e->getErrorCode() . "\n"; echo $e->getErrorMsg() . "\n"; } echo "\n"; echo $response;
更多
项目源码及更多详细的使用指导请参考华为云开发者 PHP 软件开发工具包(PHP SDK)。
父主题: 应用侧SDK