Hook的使用方法
使用钩子
插件中的命名
定义的一个钩子
钩子的制作
钩子就像是java里面的AOP面向切面变成可以在既定的生命周期内添加业务逻辑
使用钩子执行一个事件
这里面的class参数要写成命名空间的地址,最后一个类名要成 文件的类名,tag参数写的事这个类里面的方法名
api加载插件漏洞
composer扩展
vender函数的用法
发送语音或者短信验证码
遇到的问题
curl_setopt():设置 CURLOPT_HTTPHEADER 属性,你必须使用对象或数组。
极光短信验证码
发送函数
public function send_zzk()
{
// $aliyun = new MobileCodeAliyunPlugin();
//
$data = ['mobile'=>18722647547,'code'=>541236,'voice_lang'=>0];
$data = json_encode($data); //把数组转成json
// $data = '{"mobile": "18722647547", "code":541236,"voice_lang": 0}';
// $result = $aliyun->sendMobileVerificationCode($param);
// var_dump($result);
$curl = curl_init();
//设置抓取的url
curl_setopt($curl, CURLOPT_URL, 'https://api.sms.jpush.cn/v1/voice_codes');
curl_setopt($curl, CURLOPT_HEADER, false);//设置头文件的信息作为数据流输出
curl_setopt($curl, CURLOPT_POST, true);//设置发送的类型
//设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);//设置发送的数据
$base64_auth_string = base64_encode('ca0aeedf22605dc9c7433a48:289cc110f8f2c0a97a85dbeb');
$header[] = "Authorization: Basic ".$base64_auth_string;
$header[] = 'Content-Type:application/json';
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
$data = curl_exec($curl);//执行命令
curl_close($curl);//关闭URL请求
/**
* 显示获得的数据
* 1、json_decode对JSON格式的字符串进行编码
* 2、json_encode对变量进行 JSON 编码
* 这两个函数当中的assoc 当该参数为 TRUE 时,将返回 array 而非 object
*/
return response(json_decode($data),200,[],'json');
}
发送邮箱验证码
导航菜单用法
添加新的模板页面
上传模板文件之后要更新模板
这样才能在模板中找到这个页面模板