yii2中如何自定义公共类
框架(架构)  /  管理员 发布于 6年前   154
以微信企业号为例:
1、在YII根目录新建一个文件夹wechat,新建Wechat.php文件
代码如下:
<? namespace app\wechat;class Wechat{const AGENTID = 3;//应用IDconst CORPID = "wx5d0183ad90c95d8b";//IDconst CORPSECRET = "KTHAkkVl4mX4Jr_g89d3PXajYupsUcJFvGWQ1K6ZMagTPOh4kiNMfBLFoDr12DVh";//秘钥const SCOPE = "snsapi_base"; const STATE = "123"; //自动登录跳转public function wxauto($jumpurl){$corpid = self::CORPID; $scope = self::SCOPE; $state = self::STATE; $url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$corpid.'&redirect_uri='.urlencode($jumpurl).'&response_type=code&scope='.$scope.'&state='.$state.'#wechat_redirect';header("Location:".$url);exit;}//推送信息public function getPush($userid , $agentid , $message){$userinfo = $this->getToken();//获取access_token$access_token = $userinfo['access_token'];$sendmsg_url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=".$access_token;$data="{\"touser\":\"$userid\",\"msgtype\":\"text\",\"agentid\":$agentid,\"text\":{\"content\":\"$message\"},\"safe\":0}";$res = $this->curlPost($sendmsg_url,$data);$errmsg=json_decode($res)->errmsg;}//获取tokenpublic function getToken(){$corpid = self::CORPID; $corpsecret = self::CORPSECRET; $Url="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=".$corpid."&corpsecret=".$corpsecret;$res = $this->curlPost($Url);$access_token=json_decode($res)->access_token;$userinfo = array();$userinfo['access_token']=$access_token;return $userinfo;}//定义curl方法public function curlPost($url,$data=""){$ch = curl_init();$opt = array(CURLOPT_URL => $url,CURLOPT_HEADER => 0,CURLOPT_POST => 1,CURLOPT_POSTFIELDS => $data,CURLOPT_RETURNTRANSFER => 1,CURLOPT_TIMEOUT => 20);$ssl = substr($url,0,8) == "https://" ? TRUE : FALSE;if ($ssl){$opt[CURLOPT_SSL_VERIFYHOST] = 2; //注意1已经弃用$opt[CURLOPT_SSL_VERIFYPEER] = FALSE;}curl_setopt_array($ch,$opt);$data = curl_exec($ch);curl_close($ch);return $data;}###########**********增加获取微信openid***********#########################}?>
2、控制器的调用:
引入 use app\wechat\Wechat;
$chat = new Wechat(); //实例化类$REDIRECT_URI= $_SERVER['HTTP_HOST'].'/test/back';//定义跳转URL$chat->wxauto($REDIRECT_URI);//调用类的方法 $chat->getToken();//调用类的方法 $corpid = Wechat::CORPID;//调用类的常量$corpsecret = Wechat::CORPSECRET;//调用类的常量$agentid=Wechat::AGENTID;//调用类的常量
相关文章教程推荐:yii教程
以上就是yii2中如何自定义公共类的详细内容,更多请关注其它相关文章!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号