就是做个记录,thinkphp 的手册以及教程很多,还有我用的是 thinkphp 3.2.3 的版本,别的版本我不知道
在做注册页的时候要发送短信,所以我借助了一个第三方的平台-- 一拓云通讯。(注册就送100条免费短信,客服也很脾气也不错,我是来打广告的,毕竟免费蹭了人家100条短信还几次麻烦客服人员。。。。。。)
下载下来的文件如下:
在 lib 里面有 Ecd.class.php,index.php 是使用模版
<?phpapp_key,app_secret都可以从控制台看到,而且上面的重点就是如何把 Ecd.class.php 导入到工程中
header("Content-type: text/html; charset=utf-8"); //这个不是重点,去掉也没关系,至少我没加还是成功的
//载入ecd类
require_once('lib/Ecd.class.php');
//接口生产地址(应用上线后正式环境必须使用该地址)
//const url = "http://www.etuocloud.com/gateway.action";
//接口测试地址(未上线前测试环境使用)
const url = "http://www.etuocloud.com/gatetest.action";
const app_key = '应用的app_key';
const app_secret = '应用的app_secret';
const format = 'xml';
//初始化
$ecd = new Ecd(url,app_key,app_secret,format);
//发送验证码短信
//echo $ecd->send_sms_code('接收验证码的手机号','验证码短信模板ID','验证码','商户订单号,可空');
//发送模板短信
//echo $ecd->send_sms_tpl('接收模板短信的手机号','模板短信模板ID','模板中的参数,以英文逗号分隔','商户订单号,可空');
//发送自定义短信
//echo $ecd->send_sms_custom('接收自定义短信的手机号','自定义短信内容','商户订单号,可空');
//发送语音验证码
//echo $ecd->send_voice_code('接收验证码语音的手机号','语音验证码模板ID','验证码','商户订单号,可空');
//发送语音通知
//echo $ecd->send_voice_notice('接收语音通知的手机号','语音通知模板ID','商户订单号,可空');
//获取流量产品列表
//echo $ecd->get_flow_product_list();
//流量充值
//echo $ecd->recharge_flow('被充值流量的手机号','流量产品编码','商户订单号,可空');
下面开始讲重点了,如何把这个第三方类库导入到工程中并且实现调用
首先这个文件需要放在这里
ThinkPHP 下的 Library 下的 Org 下新建一个文件,文件名随意,但是最好还是跟你的库文件名一致,之后再在 Ecd.class.php 中进行修改
在 Ecd.class.php 中添加这么一句话:
namespace Org\Ecd;之后只要在你需要实例化这个类的文件中这么调用就行了:
use Org\Ecd\Ecd;重点就在于三点:
/**
*这里面还要传入一定的参数,这个暂时不重要
*$ecd=new Ecd();
*/
第一,第三类库放在哪里,Library \ Org \ 类名文件夹 下
第二,在这个 php 文件中一定要加 namespace Org \ 类名
第三,在引用的时候要不直接写全名:
$ecd= new \ Org \ Ecd \ Ecd ( )
要不就使用 use
use Org\Ecd\Ecd;
// $ecd=new Ecd();