小編給大家分享一下yii2中自定義公共類(lèi)的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到策勒網(wǎng)站設(shè)計(jì)與策勒網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名申請(qǐng)、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋策勒地區(qū)。
示例:
1、在YII根目錄新建一個(gè)文件夾wechat,新建Wechat.php文件
代碼如下:
namespace app\wechat; class Wechat { const AGENTID = 3;//應(yīng)用ID const CORPID = "wx5d0183ad90c95d8b";//ID const CORPSECRET = "KTHAkkVl4mX4Jr_g89d3PXajYupsUcJFvGWQ1K6ZMagTPOh5kiNMfBLFoDr12DVh";//秘鑰 const SCOPE = "snsapi_base"; const STATE = "123"; //自動(dòng)登錄跳轉(zhuǎn) public function wxauto($jumpurl){ $corpid = self::CORPID; $scope = self::SCOPE; $state = self::STATE; $url='https://open.weixin.qq.com/connect/oauth3/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; } //獲取token public 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已經(jīng)棄用 $opt[CURLOPT_SSL_VERIFYPEER] = FALSE; } curl_setopt_array($ch,$opt); $data = curl_exec($ch); curl_close($ch); return $data; } ###########**********增加獲取微信openid***********######################### } ?>
2、控制器的調(diào)用:
引入 use app\wechat\Wechat;
$chat = new Wechat(); //實(shí)例化類(lèi) $REDIRECT_URI= $_SERVER['HTTP_HOST'].'/test/back';//定義跳轉(zhuǎn)URL $chat->wxauto($REDIRECT_URI);//調(diào)用類(lèi)的方法 $chat->getToken();//調(diào)用類(lèi)的方法 $corpid = Wechat::CORPID;//調(diào)用類(lèi)的常量 $corpsecret = Wechat::CORPSECRET;//調(diào)用類(lèi)的常量 $agentid=Wechat::AGENTID;//調(diào)用類(lèi)的常量
以上是“yii2中自定義公共類(lèi)的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!