2018年04月6日网站服务器迁移完成……

阿里大鱼发送sms 短信 php demo示例

php 苏 demo 1531℃ 0评论

最近项目中考虑使用阿里大鱼的sms短信发送服务,不过,在找到阿里大鱼php sdk的 时候,尼玛,问题来了!
我就想用个短信而已啊。。。。竟然给我打包了好多 什么httpdns 什么kfcsearch 什么area ?

至于么? 至于么?

demo表示很生气,于是:

额,老司机来了!

一言不合,就要发代码。

一些基础信息的配置项目:
QQ截图20160610102546

<?php 

/**
 * ALIDAYU SMS
 * Class DayuSms
 */
class DayuSms
{
    protected static $request;
    protected static $sign_name;
    protected static $sms_type;

    public function __construct()
    {
        self::$sign_name = ConfigGLB::ALIDAYU_SING_NAME;
        self::$sms_type  = ConfigGLB::ALIDAYU_SMS_TYPE;

        self::$request            = new TopClient();
        self::$request->appkey    = ConfigGLB::ALIDAYU_SMS_APP_KEY;
        self::$request->secretKey = ConfigGLB::ALIDAYU_SMS_SECRET_KEY;
        self::$request->format    = ConfigGLB::ALIDAYU_SMS_FORMAT;
    }

    /**
     * 发送短信
     * @param $mobile 目标手机号码
     * @param $template 短信模板
     * @param array $params 短信内容参数,根据短信模板参数进行kv比对合一
     * @return bool
     */
    public static function send($mobile, $template, $params = [])
    {
        $sms_send = new AlibabaAliqinFcSmsNumSendRequest();
        $sms_send->setSmsType(self::$sms_type);
        $sms_send->setSmsFreeSignName(self::$sign_name);
        $sms_send->setSmsParam(json_encode($params));;
        $sms_send->setRecNum($mobile);
        $sms_send->setSmsTemplateCode($template);
        /**
         * stdClass Object
         *  * (
         *  * [result] => stdClass Object
         *  *  * (
         *  *  * *  [err_code] => 0
         *  *  *  * [model] => 101857720372^1102430281096
         *  *  *  * [success] => 1
         *  *  * )
         * *  [request_id] => 14sn1dgml456v
         *  * )
         */
        $status = self::$request->execute($sms_send);
        //将执行结果对象转成数据,进行数据处理
        $result = LmUtil::objectArray($status);
        if ($result['err_code'] == 0 && $result['success'] == 1) {
            return true;
        } else {
            return false;
        }
    }

}

附属函数支持:
LmUtil::objectArray

	/**
	 * stdClass Object 转 数组
	 * @param $array
	 * @return array
	 */
	public static function objectArray($array){
		if(is_object($array)){
			$array = (array)$array;
		}
		if(is_array($array)){
			foreach($array as $key=>$value){
				$array[$key] = self::objectArray($value);
			}
		}
		return $array;
	}

PS:
一些用到的阿里的类库,TopClient /AlibabaAliqinFcSmsNumSendRequest 等等 已经提前放到代码vendor目录 ,自动载入了。
巫妖忘记哦。

打赏

转载请注明:苏demo的别样人生 » 阿里大鱼发送sms 短信 php demo示例

   如果本篇文章对您有帮助,欢迎向博主进行赞助,赞助时请写上您的用户名。
支付宝直接捐助帐号oracle_lee@qq.com 感谢支持!
喜欢 (1)or分享 (0)
发表我的评论
取消评论
表情