yii2中如何自定义公共类

yii2中如何自定义公共类

以微信企业号为例: 

1、在YII根目录新建一个文件夹wechat,新建Wechat.php文件

代码如下:

  Namespace appwechat; class Wechat { 	const AGENTID = 3;//应用ID 	const CORPID = "wx5d0183ad90c95d8b";//ID 	const 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; 	} 	 	//获取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已经弃用 			$opt[CURLOPT_SSL_VERIFYPEER] = FALSE; 		} 		curl_setopt_array($ch,$opt); 		$data = curl_exec($ch); 		curl_close($ch); 		return $data; 	} ###########**********增加获取微信openid***********######################### } ?>

2、控制器的调用:

引入 use appwechatWechat; 

	$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教程

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享