1,下载sdk
composer require alibabacloud/dysmsapi-20170525 2.0.9
2,封装短信发送类
<?php
namespace App\Http\business;
use AlibabaCloud\SDK\Dysmsapi\V20170525\Dysmsapi;
use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\SDK\Dysmsapi\V20170525\Models\SendSmsRequest;
use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
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 $phone
* @return \AlibabaCloud\SDK\Dysmsapi\V20170525\Models\SendSmsResponse
*/
public static function main($phone){
$client = self::createClient("accessKeyId", "accessKeySecret");
$sendSmsRequest = new SendSmsRequest([
"signName" => "阿里云短信测试",
"templateCode" => "SMS_154950909",
"phoneNumbers" => "$phone",
"templateParam" => "{\"code\":\"8888\"}"
]);
$runtime = new RuntimeOptions([]);
// 复制代码运行请自行打印 API 的返回值
$client->sendSmsWithOptions($sendSmsRequest, $runtime);
}
}
3,静态调用即可
<?php
class Phone{
public function phone()
{
$phone = \request()->post('phone');
// $key = rand(1111,9999);
dump(Sample::main($phone));
}
}