2022-07-07 09:51 ThinkPHP 72 梁俊威
发送短信通知,短信验证码已经是开发界中经常干的事情了,这篇文章主要讲解一下阿里云短信升级版SDK如何在ThinkPHP6中使用。
官方文档:https://next.api.aliyun.com/api-tools/sdk/Dysmsapi?version=2017-05-25&language=php-tea
根据官方文档提供的安装步骤进行安装。
使用Composer在项目根目录下运行
composer require alibabacloud/darabonba-openapi
环境要求
最低要求 PHP 5.6
安装 SDK 核心库 OpenAPI
改良示例
<?php use AlibabaCloud\SDK\Dysmsapi\V20170525\Dysmsapi; use AlibabaCloud\Tea\Exception\TeaError; use AlibabaCloud\Tea\Utils\Utils; use Darabonba\OpenApi\Models\Config; use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions; use AlibabaCloud\SDK\Dysmsapi\V20170525\Models\SendSmsRequest; class AliyunSMS { protected $client; public function __construct($accessKeyId, $accessKeySecret){ $config = new Config([ // 您的 AccessKey ID "accessKeyId" => $accessKeyId, // 您的 AccessKey Secret "accessKeySecret" => $accessKeySecret ]); // 设置HTTP/HTTPS $config->protocol = "HTTP"; // 访问的域名 $config->endpoint = "dysmsapi.aliyuncs.com"; $this->client = new Dysmsapi($config); } public function sendSms($mobile, $sign, $templateCode, $templateParam){ $sendSmsRequest = new SendSmsRequest([ 'phoneNumbers'=>$mobile, "signName" => $sign, "templateCode"=> $templateCode, "templateParam"=>json_encode($templateParam) ]); $runtime = new RuntimeOptions([]); // 复制代码运行请自行打印 API 的返回值 $result = $this->client->sendSmsWithOptions($sendSmsRequest, $runtime); return $result->body; } }
将上述代码以命名为AliyunSMS.php放置根目录下extend文件夹即可直接使用。
官方SDK示例
<?php // This file is auto-generated, don't edit it. Thanks. namespace AlibabaCloud\SDK\Sample; use AlibabaCloud\SDK\Dysmsapi\V20170525\Dysmsapi; use \Exception; use AlibabaCloud\Tea\Exception\TeaError; use AlibabaCloud\Tea\Utils\Utils; use Darabonba\OpenApi\Models\Config; use AlibabaCloud\SDK\Dysmsapi\V20170525\Models\AddShortUrlRequest; class Sample { /** * 使用AK&SK初始化账号Client * @param string $accessKeyId * @param string $accessKeySecret * @return Dysmsapi Client */ public static function createClient($accessKeyId, $accessKeySecret){ $config = new Config([ // 您的 AccessKey ID "accessKeyId" => $accessKeyId, // 您的 AccessKey Secret "accessKeySecret" => $accessKeySecret ]); // 访问的域名 $config->endpoint = "dysmsapi.aliyuncs.com"; return new Dysmsapi($config); } /** * @param string[] $args * @return void */ public static function main($args){ $client = self::createClient("accessKeyId", "accessKeySecret"); $addShortUrlRequest = new AddShortUrlRequest([ "resourceOwnerAccount" => "your_value", "resourceOwnerId" => 1, "sourceUrl" => "your_value", "shortUrlName" => "your_value" ]); try { // 复制代码运行请自行打印 API 的返回值 $client->addShortUrl($addShortUrlRequest); } catch (Exception $error) { if (!($error instanceof TeaError)) { $error = new TeaError([], $error->getMessage(), $error->getCode(), $error); } // 如有需要,请打印 error Utils::assertAsString($error->message); } } } $path = __DIR__ . \DIRECTORY_SEPARATOR . '..' . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php'; if (file_exists($path)) { require_once $path; } Sample::main(array_slice($argv, 1));
若无特殊说明,本站点所有内容均为原创,转载请说明出处!