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 相关文章推荐
第十三节 对象串行化 [13]
Oct 09 PHP
坏狼的PHP学习教程之第2天
Jun 15 PHP
php正则表达式(regar expression)
Sep 10 PHP
纯PHP生成的一个树叶图片画图例子
Apr 16 PHP
php中instanceof 与 is_a()区别分析
Mar 03 PHP
php使用NumberFormatter格式化货币的方法
Mar 21 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
Apr 27 PHP
PHP中递归的实现实例详解
Nov 14 PHP
PHP实现动态压缩js与css文件的方法
May 02 PHP
php微信开发之关键词回复功能
Jun 13 PHP
php 中htmlentities导致中文无法查询问题
Sep 10 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
Oct 15 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/12/03 PHP
php采用session实现防止页面重复刷新
2015/12/24 PHP
orm获取关联表里的属性值
2016/04/17 PHP
php版微信公众号接口实现发红包的方法
2016/10/14 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
2019/04/15 PHP
Smarty模板变量与调节器实例详解
2019/07/20 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
JS父页面与子页面相互传值方法
2014/03/05 Javascript
js实现编辑div节点名称的方法
2014/12/17 Javascript
设计模式中的facade外观模式在JavaScript开发中的运用
2016/05/18 Javascript
Mongoose学习全面理解(推荐)
2017/01/21 Javascript
ES6新特性之Object的变化分析
2017/03/31 Javascript
AngularJS基于http请求实现下载php生成的excel文件功能示例
2018/01/23 Javascript
react结合bootstrap实现评论功能
2020/05/30 Javascript
微信小程序入门之指南针
2020/10/22 Javascript
JavaScript代码实现微博批量取消关注功能
2021/02/05 Javascript
python通过imaplib模块读取gmail里邮件的方法
2015/05/08 Python
Django框架中的对象列表视图使用示例
2015/07/21 Python
详解Python的Django框架中manage命令的使用与扩展
2016/04/11 Python
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
Python3.6安装及引入Requests库的实现方法
2018/01/24 Python
python逆序打印各位数字的方法
2018/06/25 Python
Python实现处理逆波兰表达式示例
2018/07/30 Python
pandas read_excel()和to_excel()函数解析
2019/09/19 Python
python3爬虫中多线程的优势总结
2020/11/24 Python
CSS3实现网站商品展示效果图
2020/01/18 HTML / CSS
GUESS盖尔斯法国官网:美国时尚品牌
2016/09/23 全球购物
机关财务管理制度
2014/01/17 职场文书
初中同学聚会邀请函
2014/02/03 职场文书
《三亚落日》教学反思
2014/04/26 职场文书
信息技术课后反思
2014/04/27 职场文书
国贸专业毕业求职信
2014/06/11 职场文书
2014年公务员退休工资改革方案
2014/10/01 职场文书
学校开学标语
2014/10/06 职场文书
公积金接收函格式
2015/01/30 职场文书
悬疑名作《朋友游戏》动画无字ED宣传片 新角色公开
2022/04/13 日漫