yii2中如何自定義公共類(lèi)

yii2中如何自定義公共類(lèi)

以微信企業(yè)號(hào)為例:?

1、在YII根目錄新建一個(gè)文件夾wechat,新建Wechat.php文件

代碼如下:

? Namespace?appwechat; class?Wechat { 	const?AGENTID?=?3;//應(yīng)用ID 	const?CORPID?=?"wx5d0183ad90c95d8b";//ID 	const?CORPSECRET?=?"KTHAkkVl4mX4Jr_g89d3PXajYupsUcJFvGWQ1K6ZMagTPOh4kiNMfBLFoDr12DVh";//秘鑰 	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/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已經(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 appwechatWechat;?

	$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)的常量

相關(guān)文章教程推薦:yii教程

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊15 分享
站長(zhǎng)的頭像-小浪學(xué)習(xí)網(wǎng)月度會(huì)員