PHP如何实现阿里云短信sdk灵活应用在项目中的方法


Posted in PHP onJune 14, 2019

首先安装

composer require alibabacloud/sdk

接着看alibabacloud官网文档

https://packagist.org/packages/alibabacloud/sdk

示例

My_composer_aliyunsms.php

<?php
// use Swoft\Task\Bean\Annotation\Task;
// use AlibabaCloud\Client\AlibabaCloud;
// use AlibabaCloud\Client\Exception\ClientException;
// use AlibabaCloud\Client\Exception\ServerException;

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

/**
 * 阿里信息发送类
 * @Task("ali")
 */
class My_composer_aliyunsms
{
  /**
   * 发送短信验证码
   */
  public function sendCode($config,$phone,$code)
  {
    $param = [
      'code' => $code
    ];
    AlibabaCloud::accessKeyClient($config['accessKeyId'], $config['accessSecret'])
      ->regionId($config['regionId'])
      ->asGlobalClient();

    try {
      $result = AlibabaCloud::rpcRequest()
        ->product('Dysmsapi')
        ->version('2017-05-25')
        ->action('SendSms')
        ->method('POST')
        ->options([
          'query' => [
            'PhoneNumbers' => $phone,
            'SignName' => $config['SignName'],
            'TemplateCode' => $config['TemplateCode'],
            'TemplateParam' => json_encode($param)
          ],
        ])
        ->request();
      return $result->toArray();
    } catch (ClientException $e) {
      echo $e->getErrorMessage() . PHP_EOL;
    } catch (ServerException $e) {
      echo $e->getErrorMessage() . PHP_EOL;
    }
  }
}

demo

include 'My_composer_aliyunsms.php';
 $sms = new My_composer_aliyunsms();
 $phone='xxxxxx';
 $code='99999'; 
 $config = [
  'accessKeyId' => 'LTAIMje******hS',
  'accessSecret' => 'fMuQTLUrKQN******Z2m07',
  'SignName' => '****',
  'TemplateCode' => 'SMS_****04',
  'regionId' => 'cn-hangzhou'
 ];
 $re = $sms->sendCode($config,$phone,$code);  
 var_dump($re);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
smarty的保留变量问题
Oct 23 PHP
PHP MySQL应用中使用XOR运算加密算法分享
Aug 28 PHP
析构函数与php的垃圾回收机制详解
Oct 28 PHP
php使用GeoIP库实例
Jun 27 PHP
PHP连接和操作MySQL数据库基础教程
Sep 29 PHP
PHP实现自动识别Restful API的返回内容类型
Feb 07 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
Nov 16 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
Apr 10 PHP
thinkphp5 加载静态资源路径与常量的方法
Dec 24 PHP
php删除二维数组中的重复值方法
Mar 12 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
Oct 15 PHP
php7连接MySQL实现简易查询程序的方法
Oct 13 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
Jun 14 #PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
Jun 14 #PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
Jun 13 #PHP
PHP面向对象程序设计重载(overloading)操作详解
Jun 13 #PHP
PHP面向对象程序设计之构造方法和析构方法详解
Jun 13 #PHP
PHP Cli 模式设置进程名称的方法
Jun 12 #PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
Jun 12 #PHP
You might like
使用PHP破解防盗链图片的一个简单方法
2014/06/07 PHP
使用PHPExcel操作Excel用法实例分析
2015/03/26 PHP
php利用嵌套数组拼接与解析json的方法
2017/02/07 PHP
(function($){...})(jQuery)的意思
2010/07/22 Javascript
javascript forEach通用循环遍历方法
2010/10/11 Javascript
浅析Js(Jquery)中,字符串与JSON格式互相转换的示例(直接运行实例)
2013/07/09 Javascript
js 浏览本地文件夹系统示例代码
2013/10/24 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
2014/06/26 Javascript
js判断文本框剩余可输入字数的方法
2015/02/04 Javascript
详解AngularJS实现表单验证
2015/12/10 Javascript
noty ? jQuery通知插件全面解析
2016/05/18 Javascript
nodejs基础应用
2017/02/03 NodeJs
Vue组件化通讯的实例代码
2017/06/23 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
解决vue+webpack打包路径的问题
2018/03/06 Javascript
纯JS实现可用于页码更换的飞页特效示例
2018/05/21 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
2019/02/27 Javascript
js array数组对象操作方法汇总
2019/03/18 Javascript
让Python代码更快运行的5种方法
2015/06/21 Python
Python使用Beautiful Soup包编写爬虫时的一些关键点
2016/01/20 Python
浅析Python 中整型对象存储的位置
2016/05/16 Python
python模块hashlib(加密服务)知识点讲解
2019/11/25 Python
pytorch 准备、训练和测试自己的图片数据的方法
2020/01/10 Python
Python基于wordcloud及jieba实现中国地图词云图
2020/06/09 Python
Python中BeautifulSoup通过查找Id获取元素信息
2020/12/07 Python
全面总结使用CSS实现水平垂直居中效果的方法
2016/03/10 HTML / CSS
CSS3中的Media Queries学习笔记
2016/05/23 HTML / CSS
外贸主管求职简历的自我评价
2013/10/23 职场文书
参观监狱心得体会
2014/01/02 职场文书
党员干部民主生活会议批评与自我批评材料
2014/09/20 职场文书
幼儿园中班教学反思
2016/03/03 职场文书
mysql查询的控制语句图文详解
2021/04/11 MySQL
详解MySQL主从复制及读写分离
2021/05/07 MySQL
Html5大屏数据可视化开发的实现
2021/06/11 HTML / CSS
SpringBoot快速入门详解
2021/07/21 Java/Android
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python